Quellcode durchsuchen

优化jwt token type

zhou-hao vor 7 Jahren
Ursprung
Commit
2a758d947d

+ 7 - 4
hsweb-authorization/hsweb-authorization-jwt/src/main/java/org/hswebframework/web/authorization/jwt/DefaultAuthorizedToken.java

@@ -6,15 +6,18 @@ import org.hswebframework.web.authorization.basic.web.AuthorizedToken;
  *
  * @author zhouhao
  */
-public class DefaultAuthorizedToken implements AuthorizedToken {
+public class JwtAuthorizedToken implements AuthorizedToken {
+
+    public static final String token_type = "jwt";
+
     private String token;
 
     private String userId;
 
-    public DefaultAuthorizedToken() {
+    public JwtAuthorizedToken() {
     }
 
-    public DefaultAuthorizedToken(String token, String userId) {
+    public JwtAuthorizedToken(String token, String userId) {
         this.token = token;
         this.userId = userId;
     }
@@ -39,6 +42,6 @@ public class DefaultAuthorizedToken implements AuthorizedToken {
 
     @Override
     public String getType() {
-        return "jwt-default";
+        return token_type;
     }
 }

+ 7 - 6
hsweb-authorization/hsweb-authorization-jwt/src/main/java/org/hswebframework/web/authorization/jwt/JwtTokenGenerator.java

@@ -14,9 +14,8 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
-/**
- *
- */
+import static org.hswebframework.web.authorization.jwt.JwtAuthorizedToken.token_type;
+
 public class JwtTokenGenerator implements UserTokenGenerator {
 
     private JwtConfig jwtConfig;
@@ -27,7 +26,7 @@ public class JwtTokenGenerator implements UserTokenGenerator {
 
     @Override
     public String getSupportTokenType() {
-        return "jwt";
+        return token_type;
     }
 
     private String createToken() {
@@ -39,7 +38,7 @@ public class JwtTokenGenerator implements UserTokenGenerator {
         String token = createToken();
         String userId = authentication.getUser().getId();
 
-        String subject = JSON.toJSONString(new DefaultAuthorizedToken(token, userId));
+        String subject = JSON.toJSONString(new JwtAuthorizedToken(token, userId));
 
         String jwtToken = createJWT(jwtConfig.getId(), subject, jwtConfig.getTtl());
 
@@ -48,6 +47,8 @@ public class JwtTokenGenerator implements UserTokenGenerator {
         int timeout = jwtConfig.getTtl();
 
         return new GeneratedToken() {
+            private static final long serialVersionUID = -4362122360342275321L;
+
             @Override
             public Map<String, Object> getResponse() {
                 Map<String, Object> map = new HashMap<>();
@@ -63,7 +64,7 @@ public class JwtTokenGenerator implements UserTokenGenerator {
 
             @Override
             public String getType() {
-                return "jwt-default";
+                return token_type;
             }
 
             @Override

+ 3 - 2
hsweb-authorization/hsweb-authorization-jwt/src/main/java/org/hswebframework/web/authorization/jwt/JwtTokenParser.java

@@ -14,7 +14,8 @@ import javax.crypto.SecretKey;
 import javax.servlet.http.HttpServletRequest;
 
 /**
- * Created by zhouhao on 2017/8/30.
+ * @see UserTokenParser
+ * @since 3.0
  */
 public class JwtTokenParser implements UserTokenParser {
 
@@ -47,7 +48,7 @@ public class JwtTokenParser implements UserTokenParser {
 
                     return null;
                 }
-                return JSON.parseObject(claims.getSubject(), DefaultAuthorizedToken.class);
+                return JSON.parseObject(claims.getSubject(), JwtAuthorizedToken.class);
             } catch (ExpiredJwtException e) {
                 return null;
             } catch (Exception e) {