mirror of
https://github.com/FJurmanovic/wallet-go-api.git
synced 2026-02-06 06:08:16 +00:00
remember me token generation
This commit is contained in:
@@ -5,8 +5,9 @@ type Token struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Login struct {
|
type Login struct {
|
||||||
Email string `form:"email"`
|
Email string `json:"email" form:"email"`
|
||||||
Password string `form:"password"`
|
Password string `json:"password" form:"password"`
|
||||||
|
RememberMe bool `json:"rememberMe" form:"rememberMe"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Auth struct {
|
type Auth struct {
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ func (us *UsersService) Login(ctx context.Context, loginBody *models.Login) (*mo
|
|||||||
return tokenPayload, exceptionReturn
|
return tokenPayload, exceptionReturn
|
||||||
}
|
}
|
||||||
|
|
||||||
token, err := CreateToken(check)
|
token, err := CreateToken(check, loginBody.RememberMe)
|
||||||
common.CheckError(err)
|
common.CheckError(err)
|
||||||
|
|
||||||
tokenPayload.Token = token
|
tokenPayload.Token = token
|
||||||
@@ -124,11 +124,15 @@ func (us *UsersService) Deactivate(ctx context.Context, auth *models.Auth) (*mod
|
|||||||
return mm, me
|
return mm, me
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateToken(user *models.User) (string, error) {
|
func CreateToken(user *models.User, rememberMe bool) (string, error) {
|
||||||
atClaims := jwt.MapClaims{}
|
atClaims := jwt.MapClaims{}
|
||||||
atClaims["authorized"] = true
|
atClaims["authorized"] = true
|
||||||
atClaims["id"] = user.Id
|
atClaims["id"] = user.Id
|
||||||
atClaims["exp"] = time.Now().Add(time.Hour * 2).Unix()
|
if rememberMe {
|
||||||
|
atClaims["exp"] = time.Now().Add(time.Hour * 48).Unix()
|
||||||
|
} else {
|
||||||
|
atClaims["exp"] = time.Now().Add(time.Hour * 2).Unix()
|
||||||
|
}
|
||||||
|
|
||||||
secret := os.Getenv("ACCESS_SECRET")
|
secret := os.Getenv("ACCESS_SECRET")
|
||||||
if secret == "" {
|
if secret == "" {
|
||||||
|
|||||||
Reference in New Issue
Block a user