mirror of
https://github.com/weloe/token-go.git
synced 2025-09-27 03:46:01 +08:00
refactor: simplify parameters
This commit is contained in:
18
enforcer.go
18
enforcer.go
@@ -183,22 +183,26 @@ func (e *Enforcer) IsLogEnable() bool {
|
||||
}
|
||||
|
||||
// Login login by id and default loginModel, return tokenValue and error
|
||||
func (e *Enforcer) Login(id string, ctx ctx.Context) (string, error) {
|
||||
return e.LoginByModel(id, model.CreateLoginModelByDevice(""), ctx)
|
||||
func (e *Enforcer) Login(id string, ctx ...ctx.Context) (string, error) {
|
||||
return e.LoginByModel(id, model.CreateLoginModelByDevice(""), ctx...)
|
||||
}
|
||||
|
||||
func (e *Enforcer) LoginById(id string, device ...string) (string, error) {
|
||||
if len(device) > 0 && device[0] != "" {
|
||||
return e.LoginByModel(id, model.CreateLoginModelByDevice(device[0]), nil)
|
||||
}
|
||||
|
||||
return e.Login(id, nil)
|
||||
}
|
||||
|
||||
// LoginByModel login by id and loginModel, return tokenValue and error
|
||||
func (e *Enforcer) LoginByModel(id string, loginModel *model.Login, ctx ctx.Context) (string, error) {
|
||||
func (e *Enforcer) LoginByModel(id string, loginModel *model.Login, c ...ctx.Context) (string, error) {
|
||||
if loginModel == nil {
|
||||
return "", errors.New("arg loginModel can not be nil")
|
||||
}
|
||||
if len(c) == 0 {
|
||||
c = []ctx.Context{nil}
|
||||
}
|
||||
var err error
|
||||
var session *model.Session
|
||||
var tokenValue string
|
||||
@@ -225,7 +229,7 @@ func (e *Enforcer) LoginByModel(id string, loginModel *model.Login, ctx ctx.Cont
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
err = e.responseRefreshToken(refreshToken, loginModel, ctx)
|
||||
err = e.responseRefreshToken(refreshToken, loginModel, c[0])
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
@@ -245,7 +249,7 @@ func (e *Enforcer) LoginByModel(id string, loginModel *model.Login, ctx ctx.Cont
|
||||
}
|
||||
|
||||
// response token
|
||||
err = e.ResponseToken(tokenValue, loginModel, ctx)
|
||||
err = e.ResponseToken(tokenValue, loginModel, c[0])
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
@@ -607,7 +611,7 @@ func (e *Enforcer) RefreshToken(refreshToken string, refreshModel ...*model.Refr
|
||||
return e.RefreshTokenByModel(refreshToken, m, nil)
|
||||
}
|
||||
|
||||
func (e *Enforcer) RefreshTokenByModel(refreshToken string, refreshModel *model.Refresh, ctx ctx.Context) (*model.RefreshRes, error) {
|
||||
func (e *Enforcer) RefreshTokenByModel(refreshToken string, refreshModel *model.Refresh, ctx ...ctx.Context) (*model.RefreshRes, error) {
|
||||
if refreshModel == nil {
|
||||
return nil, errors.New("arg refreshModel can not be nil")
|
||||
}
|
||||
@@ -633,7 +637,7 @@ func (e *Enforcer) RefreshTokenByModel(refreshToken string, refreshModel *model.
|
||||
RefreshTokenTimeout: refreshModel.RefreshTokenTimeout,
|
||||
}
|
||||
|
||||
token, err := e.LoginByModel(refreshTokenSign.Id, login, ctx)
|
||||
token, err := e.LoginByModel(refreshTokenSign.Id, login, ctx...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@@ -25,9 +25,9 @@ type IEnforcer interface {
|
||||
GetTokenConfig() config.TokenConfig
|
||||
|
||||
// Login login api
|
||||
Login(id string, ctx ctx.Context) (string, error)
|
||||
Login(id string, ctx ...ctx.Context) (string, error)
|
||||
LoginById(id string, device ...string) (string, error)
|
||||
LoginByModel(id string, loginModel *model.Login, ctx ctx.Context) (string, error)
|
||||
LoginByModel(id string, loginModel *model.Login, ctx ...ctx.Context) (string, error)
|
||||
|
||||
Logout(ctx ctx.Context) error
|
||||
LogoutById(id string, device ...string) error
|
||||
@@ -52,7 +52,7 @@ type IEnforcer interface {
|
||||
// refresh api
|
||||
GetRefreshToken(tokenValue string) string
|
||||
RefreshToken(refreshToken string, refreshModel ...*model.Refresh) (*model.RefreshRes, error)
|
||||
RefreshTokenByModel(refreshToken string, refreshModel *model.Refresh, ctx ctx.Context) (*model.RefreshRes, error)
|
||||
RefreshTokenByModel(refreshToken string, refreshModel *model.Refresh, ctx ...ctx.Context) (*model.RefreshRes, error)
|
||||
|
||||
GetLoginCounts() (int, error)
|
||||
GetLoginTokenCounts() (int, error)
|
||||
|
Reference in New Issue
Block a user