diff --git a/pkg/api/tokens.go b/pkg/api/tokens.go index 2e544931..7c9e3b26 100644 --- a/pkg/api/tokens.go +++ b/pkg/api/tokens.go @@ -65,7 +65,7 @@ func (a *TokensApi) TokenRevokeCurrentHandler(c *core.Context) (interface{}, *er _, claims, err := a.tokens.ParseToken(c) if err != nil { - return nil, errs.NewIncompleteOrIncorrectSubmissionError(err) + return nil, errs.Or(err, errs.NewIncompleteOrIncorrectSubmissionError(err)) } uid, err := utils.StringToInt64(claims.Id) diff --git a/pkg/errs/token.go b/pkg/errs/token.go index dcbdb7e4..cd5a7c41 100644 --- a/pkg/errs/token.go +++ b/pkg/errs/token.go @@ -18,4 +18,5 @@ var ( ErrInvalidUserTokenId = NewNormalError(NormalSubcategoryToken, 9, http.StatusBadRequest, "user token id is invalid") ErrTokenRecordNotFound = NewNormalError(NormalSubcategoryToken, 10, http.StatusBadRequest, "token is not found") ErrTokenExpired = NewNormalError(NormalSubcategoryToken, 11, http.StatusBadRequest, "token is expired") + ErrTokenIsEmpty = NewNormalError(NormalSubcategoryToken, 12, http.StatusBadRequest, "token is empty") ) diff --git a/pkg/services/tokens.go b/pkg/services/tokens.go index 06e8e828..3ff3ef15 100644 --- a/pkg/services/tokens.go +++ b/pkg/services/tokens.go @@ -100,6 +100,10 @@ func (s *TokenService) ParseToken(c *core.Context) (*jwt.Token, *core.UserTokenC }, request.WithClaims(claims)) if err != nil { + if err == request.ErrNoTokenInRequest { + return nil, nil, errs.ErrTokenIsEmpty + } + return nil, nil, err } diff --git a/src/lib/services.js b/src/lib/services.js index 8f9ce7c3..48597ad5 100644 --- a/src/lib/services.js +++ b/src/lib/services.js @@ -47,6 +47,7 @@ axios.interceptors.response.use(response => { || errorCode === 202004 // current token type is invalid || errorCode === 202005 // current token requires two factor authorization || errorCode === 202006 // current token does not require two factor authorization + || errorCode === 202012 // token is empty ) { userState.clearTokenAndUserInfo(false); location.reload(); diff --git a/src/locales/en.js b/src/locales/en.js index 8c9018b5..9d6956ac 100644 --- a/src/locales/en.js +++ b/src/locales/en.js @@ -547,6 +547,7 @@ export default { 'user token id is invalid': 'User token ID is invalid', 'token is not found': 'Token is not found', 'token is expired': 'Token is expired', + 'token is empty': 'Token is empty', 'passcode is invalid': 'Passcode is invalid', 'two factor backup code is invalid': 'Two factor backup code is invalid', 'two factor is not enabled': 'Two factor is not enabled', diff --git a/src/locales/zh_Hans.js b/src/locales/zh_Hans.js index 154de58f..826dfd27 100644 --- a/src/locales/zh_Hans.js +++ b/src/locales/zh_Hans.js @@ -547,6 +547,7 @@ export default { 'user token id is invalid': '用户认证令牌ID无效', 'token is not found': '认证令牌不存在', 'token is expired': '认证令牌已过期', + 'token is empty': '认证令牌为空', 'passcode is invalid': '验证码无效', 'two factor backup code is invalid': '两步验证备用码无效', 'two factor is not enabled': '两步验证没有启用',