From 4afd544c413d38fbe4b5535dfac940a90dd380e2 Mon Sep 17 00:00:00 2001 From: Lakhan Samani Date: Mon, 7 Nov 2022 07:11:23 +0530 Subject: [PATCH] feat(server): add allowed_roles in access_token + refresh_token --- server/token/auth_token.go | 42 ++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/server/token/auth_token.go b/server/token/auth_token.go index 4e947e2..87d164f 100644 --- a/server/token/auth_token.go +++ b/server/token/auth_token.go @@ -114,16 +114,17 @@ func CreateRefreshToken(user models.User, roles, scopes []string, hostname, nonc return "", 0, err } customClaims := jwt.MapClaims{ - "iss": hostname, - "aud": clientID, - "sub": user.ID, - "exp": expiresAt, - "iat": time.Now().Unix(), - "token_type": constants.TokenTypeRefreshToken, - "roles": roles, - "scope": scopes, - "nonce": nonce, - "login_method": loginMethod, + "iss": hostname, + "aud": clientID, + "sub": user.ID, + "exp": expiresAt, + "iat": time.Now().Unix(), + "token_type": constants.TokenTypeRefreshToken, + "roles": roles, + "scope": scopes, + "nonce": nonce, + "login_method": loginMethod, + "allowed_roles": strings.Split(user.Roles, ","), } token, err := SignJWTToken(customClaims) @@ -153,16 +154,17 @@ func CreateAccessToken(user models.User, roles, scopes []string, hostName, nonce return "", 0, err } customClaims := jwt.MapClaims{ - "iss": hostName, - "aud": clientID, - "nonce": nonce, - "sub": user.ID, - "exp": expiresAt, - "iat": time.Now().Unix(), - "token_type": constants.TokenTypeAccessToken, - "scope": scopes, - "roles": roles, - "login_method": loginMethod, + "iss": hostName, + "aud": clientID, + "nonce": nonce, + "sub": user.ID, + "exp": expiresAt, + "iat": time.Now().Unix(), + "token_type": constants.TokenTypeAccessToken, + "scope": scopes, + "roles": roles, + "login_method": loginMethod, + "allowed_roles": strings.Split(user.Roles, ","), } token, err := SignJWTToken(customClaims)