Added JWT Refresh token
This commit is contained in:
@@ -46,12 +46,13 @@ func (a *Auth) Login(login, passwd string) (string, error) {
|
||||
return "", ErrLoginIncorrect
|
||||
}
|
||||
|
||||
token, _ := jwtSrv.CreateToken(id)
|
||||
if err = a.saveTokenToCache(token, id); err != nil {
|
||||
accessToken, _ := jwtSrv.CreateAccessToken(id)
|
||||
refreshToken, _ := jwtSrv.CreateRefreshToken(id)
|
||||
if err = a.saveTokensToCache(accessToken, refreshToken, id); err != nil {
|
||||
return "", ErrUnableToCacheToken
|
||||
}
|
||||
|
||||
return token, nil
|
||||
return accessToken, nil
|
||||
}
|
||||
|
||||
func (a *Auth) Register(email, login, passwd string) (string, error) {
|
||||
@@ -70,10 +71,15 @@ func (a *Auth) Register(email, login, passwd string) (string, error) {
|
||||
return id, nil
|
||||
}
|
||||
|
||||
func (a *Auth) saveTokenToCache(token, id string) error {
|
||||
res := a.cache.Set(context.Background(), "auth:token:"+id, token, tokenExpireTime)
|
||||
func (a *Auth) saveTokensToCache(accessToken, refreshToken, id string) error {
|
||||
res := a.cache.Set(context.Background(), "auth:access_token:"+id, accessToken, accessTokenExpireTime)
|
||||
if err := res.Err(); err != nil {
|
||||
fmt.Println("failed to save token in redis: ", err.Error())
|
||||
fmt.Println("failed to save access token in redis: ", err.Error())
|
||||
}
|
||||
|
||||
res = a.cache.Set(context.Background(), "auth:refresh_token:"+id, refreshToken, refreshTokenExpireTime)
|
||||
if err := res.Err(); err != nil {
|
||||
fmt.Println("failed to save refresh token in redis: ", err.Error())
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user