@@ -9,12 +9,14 @@ import (
99)
1010
1111func CreateAccessToken (user * domain.User , secret string , expiry int ) (accessToken string , err error ) {
12- exp := time .Now ().Add (time .Hour * time .Duration (expiry )).Unix ()
12+ nowTime := time .Now ()
13+ expireTime := nowTime .Add (time .Duration (expiry ) * time .Hour )
14+
1315 claims := & domain.JwtCustomClaims {
1416 Name : user .Name ,
1517 ID : user .ID .Hex (),
16- StandardClaims : jwt.StandardClaims {
17- ExpiresAt : exp ,
18+ RegisteredClaims : jwt.RegisteredClaims {
19+ ExpiresAt : jwt . NewNumericDate ( expireTime ) ,
1820 },
1921 }
2022 token := jwt .NewWithClaims (jwt .SigningMethodHS256 , claims )
@@ -26,10 +28,13 @@ func CreateAccessToken(user *domain.User, secret string, expiry int) (accessToke
2628}
2729
2830func CreateRefreshToken (user * domain.User , secret string , expiry int ) (refreshToken string , err error ) {
31+ nowTime := time .Now ()
32+ expireTime := nowTime .Add (time .Duration (expiry ) * time .Hour )
33+
2934 claimsRefresh := & domain.JwtCustomRefreshClaims {
3035 ID : user .ID .Hex (),
31- StandardClaims : jwt.StandardClaims {
32- ExpiresAt : time . Now (). Add ( time . Hour * time . Duration ( expiry )). Unix ( ),
36+ RegisteredClaims : jwt.RegisteredClaims {
37+ ExpiresAt : jwt . NewNumericDate ( expireTime ),
3338 },
3439 }
3540 token := jwt .NewWithClaims (jwt .SigningMethodHS256 , claimsRefresh )
@@ -43,7 +48,7 @@ func CreateRefreshToken(user *domain.User, secret string, expiry int) (refreshTo
4348func IsAuthorized (requestToken string , secret string ) (bool , error ) {
4449 _ , err := jwt .Parse (requestToken , func (token * jwt.Token ) (interface {}, error ) {
4550 if _ , ok := token .Method .(* jwt.SigningMethodHMAC ); ! ok {
46- return nil , fmt .Errorf ("Unexpected signing method: %v" , token .Header ["alg" ])
51+ return nil , fmt .Errorf ("unexpected signing method: %v" , token .Header ["alg" ])
4752 }
4853 return []byte (secret ), nil
4954 })
@@ -56,19 +61,18 @@ func IsAuthorized(requestToken string, secret string) (bool, error) {
5661func ExtractIDFromToken (requestToken string , secret string ) (string , error ) {
5762 token , err := jwt .Parse (requestToken , func (token * jwt.Token ) (interface {}, error ) {
5863 if _ , ok := token .Method .(* jwt.SigningMethodHMAC ); ! ok {
59- return nil , fmt .Errorf ("Unexpected signing method: %v" , token .Header ["alg" ])
64+ return nil , fmt .Errorf ("unexpected signing method: %v" , token .Header ["alg" ])
6065 }
6166 return []byte (secret ), nil
6267 })
63-
6468 if err != nil {
6569 return "" , err
6670 }
6771
6872 claims , ok := token .Claims .(jwt.MapClaims )
6973
7074 if ! ok && ! token .Valid {
71- return "" , fmt .Errorf ("Invalid Token" )
75+ return "" , fmt .Errorf ("invalid Token" )
7276 }
7377
7478 return claims ["id" ].(string ), nil
0 commit comments