From 9ee2169d1761b3d35671d58b22e09e05d3daf6f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Jurmanovi=C4=87?= Date: Mon, 12 Jul 2021 22:27:04 +0200 Subject: [PATCH] remember me token generation --- pkg/models/auth.go | 5 +++-- pkg/services/users.go | 10 +++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pkg/models/auth.go b/pkg/models/auth.go index 2145764..2e04efc 100644 --- a/pkg/models/auth.go +++ b/pkg/models/auth.go @@ -5,8 +5,9 @@ type Token struct { } type Login struct { - Email string `form:"email"` - Password string `form:"password"` + Email string `json:"email" form:"email"` + Password string `json:"password" form:"password"` + RememberMe bool `json:"rememberMe" form:"rememberMe"` } type Auth struct { diff --git a/pkg/services/users.go b/pkg/services/users.go index 608a93c..b1388b0 100644 --- a/pkg/services/users.go +++ b/pkg/services/users.go @@ -81,7 +81,7 @@ func (us *UsersService) Login(ctx context.Context, loginBody *models.Login) (*mo return tokenPayload, exceptionReturn } - token, err := CreateToken(check) + token, err := CreateToken(check, loginBody.RememberMe) common.CheckError(err) tokenPayload.Token = token @@ -124,11 +124,15 @@ func (us *UsersService) Deactivate(ctx context.Context, auth *models.Auth) (*mod return mm, me } -func CreateToken(user *models.User) (string, error) { +func CreateToken(user *models.User, rememberMe bool) (string, error) { atClaims := jwt.MapClaims{} atClaims["authorized"] = true 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") if secret == "" {