@@ -9,12 +9,14 @@ import (
9
9
)
10
10
11
11
func 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
+
13
15
claims := & domain.JwtCustomClaims {
14
16
Name : user .Name ,
15
17
ID : user .ID .Hex (),
16
- StandardClaims : jwt.StandardClaims {
17
- ExpiresAt : exp ,
18
+ RegisteredClaims : jwt.RegisteredClaims {
19
+ ExpiresAt : jwt . NewNumericDate ( expireTime ) ,
18
20
},
19
21
}
20
22
token := jwt .NewWithClaims (jwt .SigningMethodHS256 , claims )
@@ -26,10 +28,13 @@ func CreateAccessToken(user *domain.User, secret string, expiry int) (accessToke
26
28
}
27
29
28
30
func 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
+
29
34
claimsRefresh := & domain.JwtCustomRefreshClaims {
30
35
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 ),
33
38
},
34
39
}
35
40
token := jwt .NewWithClaims (jwt .SigningMethodHS256 , claimsRefresh )
@@ -43,7 +48,7 @@ func CreateRefreshToken(user *domain.User, secret string, expiry int) (refreshTo
43
48
func IsAuthorized (requestToken string , secret string ) (bool , error ) {
44
49
_ , err := jwt .Parse (requestToken , func (token * jwt.Token ) (interface {}, error ) {
45
50
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" ])
47
52
}
48
53
return []byte (secret ), nil
49
54
})
@@ -56,19 +61,18 @@ func IsAuthorized(requestToken string, secret string) (bool, error) {
56
61
func ExtractIDFromToken (requestToken string , secret string ) (string , error ) {
57
62
token , err := jwt .Parse (requestToken , func (token * jwt.Token ) (interface {}, error ) {
58
63
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" ])
60
65
}
61
66
return []byte (secret ), nil
62
67
})
63
-
64
68
if err != nil {
65
69
return "" , err
66
70
}
67
71
68
72
claims , ok := token .Claims .(jwt.MapClaims )
69
73
70
74
if ! ok && ! token .Valid {
71
- return "" , fmt .Errorf ("Invalid Token" )
75
+ return "" , fmt .Errorf ("invalid Token" )
72
76
}
73
77
74
78
return claims ["id" ].(string ), nil
0 commit comments