|
18 | 18 | * access、refresh token
|
19 | 19 | *
|
20 | 20 | * @author pedro@TaleLin
|
| 21 | + * @author colorful@TaleLin |
21 | 22 | */
|
22 | 23 | public class DoubleJWT {
|
23 | 24 |
|
@@ -72,6 +73,16 @@ public String generateToken(String tokenType, long identity, String scope, long
|
72 | 73 | .sign(algorithm);
|
73 | 74 | }
|
74 | 75 |
|
| 76 | + public String generateToken(String tokenType, String identity, String scope, long expire) { |
| 77 | + Date expireDate = DateUtil.getDurationDate(expire); |
| 78 | + return builder |
| 79 | + .withClaim("type", tokenType) |
| 80 | + .withClaim("identity", identity) |
| 81 | + .withClaim("scope", scope) |
| 82 | + .withExpiresAt(expireDate) |
| 83 | + .sign(algorithm); |
| 84 | + } |
| 85 | + |
75 | 86 | public Map<String, Claim> decodeAccessToken(String token) {
|
76 | 87 | DecodedJWT jwt = accessVerifier.verify(token);
|
77 | 88 | checkTokenExpired(jwt.getExpiresAt());
|
@@ -111,16 +122,30 @@ public String generateAccessToken(long identity) {
|
111 | 122 | return generateToken(TokenConstant.ACCESS_TYPE, identity, TokenConstant.LIN_SCOPE, this.accessExpire);
|
112 | 123 | }
|
113 | 124 |
|
| 125 | + public String generateAccessToken(String identity) { |
| 126 | + return generateToken(TokenConstant.ACCESS_TYPE, identity, TokenConstant.LIN_SCOPE, this.accessExpire); |
| 127 | + } |
| 128 | + |
114 | 129 | public String generateRefreshToken(long identity) {
|
115 | 130 | return generateToken(TokenConstant.REFRESH_TYPE, identity, TokenConstant.LIN_SCOPE, this.refreshExpire);
|
116 | 131 | }
|
117 | 132 |
|
| 133 | + public String generateRefreshToken(String identity) { |
| 134 | + return generateToken(TokenConstant.REFRESH_TYPE, identity, TokenConstant.LIN_SCOPE, this.refreshExpire); |
| 135 | + } |
| 136 | + |
118 | 137 | public Tokens generateTokens(long identity) {
|
119 | 138 | String access = this.generateToken(TokenConstant.ACCESS_TYPE, identity, TokenConstant.LIN_SCOPE, this.accessExpire);
|
120 | 139 | String refresh = this.generateToken(TokenConstant.REFRESH_TYPE, identity, TokenConstant.LIN_SCOPE, this.refreshExpire);
|
121 | 140 | return new Tokens(access, refresh);
|
122 | 141 | }
|
123 | 142 |
|
| 143 | + public Tokens generateTokens(String identity) { |
| 144 | + String access = this.generateToken(TokenConstant.ACCESS_TYPE, identity, TokenConstant.LIN_SCOPE, this.accessExpire); |
| 145 | + String refresh = this.generateToken(TokenConstant.REFRESH_TYPE, identity, TokenConstant.LIN_SCOPE, this.refreshExpire); |
| 146 | + return new Tokens(access, refresh); |
| 147 | + } |
| 148 | + |
124 | 149 |
|
125 | 150 | /***
|
126 | 151 | * 获得令牌的验证器
|
|
0 commit comments