@@ -58,12 +58,14 @@ func InitializeKey(privKeyPath, pubKeyPath string) {
58
58
// NewJWT returns a JWT for the given User.
59
59
func NewJWT (user * User ) (JWT , error ) {
60
60
method := jwt .GetSigningMethod ("RS256" )
61
- token := jwt .New (method )
62
- token .Claims ["UserRole" ] = user .Role
63
- token .Claims ["UserID" ] = user .Id
64
- token .Claims ["UserEmail" ] = user .Email
65
61
exp := time .Now ().Add (time .Minute * 3600 ).Unix ()
66
- token .Claims ["exp" ] = exp
62
+ claims := jwt.MapClaims {
63
+ "UserRole" : user .Role ,
64
+ "UserID" : user .Id ,
65
+ "UserEmail" : user .Email ,
66
+ "exp" : exp ,
67
+ }
68
+ token := jwt .NewWithClaims (method , claims )
67
69
68
70
tokenString , err := token .SignedString (signKey )
69
71
if err != nil {
@@ -81,10 +83,10 @@ func NewJWT(user *User) (JWT, error) {
81
83
82
84
// NewJWTFromToken returns a JWT for the given token.
83
85
func NewJWTFromToken (token * jwt.Token ) JWT {
84
- userRole := token .Claims ["UserRole" ].(float64 )
85
- userID := token .Claims ["UserID" ].(float64 )
86
- userEmail := token .Claims ["UserEmail" ].(string )
87
- expiration := token .Claims ["exp" ].(float64 )
86
+ userRole := token .Claims .(jwt. MapClaims ) ["UserRole" ].(float64 )
87
+ userID := token .Claims .(jwt. MapClaims ) ["UserID" ].(float64 )
88
+ userEmail := token .Claims .(jwt. MapClaims ) ["UserEmail" ].(string )
89
+ expiration := token .Claims .(jwt. MapClaims ) ["exp" ].(float64 )
88
90
return JWT {
89
91
UserRole : int (userRole ),
90
92
UserID : int64 (userID ),
0 commit comments