remember me token generation

This commit is contained in:
Fran Jurmanović
2021-07-12 22:27:04 +02:00
parent 2e07bdd6f0
commit 9ee2169d17
2 changed files with 10 additions and 5 deletions

View File

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

View File

@@ -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 == "" {