refactor: modify VerifyLoginToken to return a pointer to the account model
This commit is contained in:
parent
a14dad43ed
commit
a9d153a22f
|
@ -167,30 +167,30 @@ func Logout(token string) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func VerifyLoginToken(token string) error {
|
func VerifyLoginToken(token string) (*model.Account, error) {
|
||||||
uvt, err := jwt.Decode([]byte(token))
|
uvt, err := jwt.Decode([]byte(token))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ErrInvalidToken
|
return nil, ErrInvalidToken
|
||||||
}
|
}
|
||||||
|
|
||||||
var claim jwt.Claims
|
var claim jwt.Claims
|
||||||
|
|
||||||
err = uvt.Claims(&claim)
|
err = uvt.Claims(&claim)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ErrInvalidToken
|
return nil, ErrInvalidToken
|
||||||
}
|
}
|
||||||
|
|
||||||
session := model.LoginSession{}
|
session := model.LoginSession{}
|
||||||
if err := db.Get().Model(session).Where("token = ?", token).First(&session).Error; err != nil {
|
if err := db.Get().Model(session).Where("token = ?", token).First(&session).Error; err != nil {
|
||||||
logger.Get().Debug(ErrInvalidToken.Error(), zap.Error(err), zap.String("token", token))
|
logger.Get().Debug(ErrInvalidToken.Error(), zap.Error(err), zap.String("token", token))
|
||||||
return ErrInvalidToken
|
return nil, ErrInvalidToken
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = jwt.Verify(jwt.HS256, sharedKey, []byte(token), blocklist)
|
_, err = jwt.Verify(jwt.HS256, sharedKey, []byte(token), blocklist)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
db.Get().Delete(&session)
|
db.Get().Delete(&session)
|
||||||
return err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return &session.Account, nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue