Added JWT Refresh token

This commit is contained in:
PB
2025-10-20 20:59:00 +02:00
parent 50b2127bd7
commit b58b07f0ac
4 changed files with 53 additions and 23 deletions

View File

@@ -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