Create refresh token and update db field

This commit is contained in:
Viktor Patchev
2022-01-06 18:54:44 +01:00
parent b86e4fa54b
commit ccdb9bb614
2 changed files with 20 additions and 3 deletions

View File

@@ -23,7 +23,6 @@ func (u *User) GenerateAccessToken(c echo.Context) error {
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"id": u.ID,
"email": u.Email,
})
t, err := token.SignedString([]byte("secret"))
@@ -35,5 +34,15 @@ func (u *User) GenerateAccessToken(c echo.Context) error {
}
func (u *User) GenerateRefreshToken(c echo.Context) error {
return nil
refreshToken := jwt.New(jwt.SigningMethodHS256)
rtClaims := refreshToken.Claims.(jwt.MapClaims)
rtClaims["sub"] = 1
rt, err := refreshToken.SignedString([]byte("secret"))
if err != nil {
return err
}
u.RefreshToken = rt
return err
}

View File

@@ -54,13 +54,21 @@ func (AuthRouter) Auth(c echo.Context) error {
if err != nil {
return err
}
err = user.GenerateRefreshToken(c)
if err != nil {
return err
}
if err := db.Model(&user).Where("id = ?", user.ID).Update("access_token", user.AccessToken).Error; err != nil {
return c.JSON(http.StatusInternalServerError, echo.Map{
"message": "server error, try again",
})
}
if err := db.Model(&user).Where("id = ?", user.ID).Update("refresh_token", user.RefreshToken).Error; err != nil {
return c.JSON(http.StatusInternalServerError, echo.Map{
"message": "server error, try again",
})
}
//var cookie http.Cookie
//
//cookie.Name = "token"