zhoux 2 лет назад
Родитель
Сommit
3d4037d7b3

+ 3 - 3
src/main/java/com/dk/oauth/shiro/filter/OAuth2AuthenticationFilter.java

@@ -61,9 +61,9 @@ public class OAuth2AuthenticationFilter extends AuthenticatingFilter {
             } else {
                 // 登陆处理,不走shiro自带的登陆方法
                 String userName = JwtUtil.getUserName(accessToken);
-                String ftyId = JwtUtil.getFtyId(accessToken);
-                String ftyCode = JwtUtil.getFtyCode(accessToken);
-                JWTToken jwtToken = JWTToken.build(accessToken, userName, ftyId, ftyCode, userName, OauthConstants.EXPIRES_IN, GrantType.AUTHORIZATION_CODE.toString(), clientId, request.getParameter("lang"));
+                String cpId = JwtUtil.getCPId(accessToken);
+                String cpCode = JwtUtil.getCpCode(accessToken);
+                JWTToken jwtToken = JWTToken.build(accessToken, userName, cpId, cpCode, userName, OauthConstants.EXPIRES_IN, GrantType.AUTHORIZATION_CODE.toString(), clientId, request.getParameter("lang"));
                 WebUtils.saveRequest(request);
                 SecurityUtils.getSubject().login(jwtToken);
                 return true;

+ 7 - 7
src/main/java/com/dk/oauth/shiro/jwt/JWTToken.java

@@ -34,13 +34,13 @@ public class JWTToken implements AuthenticationToken {
      */
     private String username;
     /**
-     * 工厂Id
+     * 公司Id
      */
-    private String ftyId;
+    private String cpId;
     /**
-     * 工厂编码
+     * 公司编码
      */
-    private String ftyCode;
+    private String cpCode;
     /**
      * 登录盐值
      */
@@ -77,7 +77,7 @@ public class JWTToken implements AuthenticationToken {
         return token;
     }
 
-    public static JWTToken build(String token, String username, String ftyId, String ftyCode, String salt, long expireSecond, String grantType, String clientId, String lang) {
+    public static JWTToken build(String token, String username, String cpId, String cpCode, String salt, long expireSecond, String grantType, String clientId, String lang) {
         DecodedJWT decodedJwt = JwtUtil.getJwtInfo(token);
         Date createDate = decodedJwt.getIssuedAt();
         Date expireDate = decodedJwt.getExpiresAt();
@@ -86,8 +86,8 @@ public class JWTToken implements AuthenticationToken {
         }
         return new JWTToken()
                 .setUsername(username)
-                .setFtyId(ftyId)
-                .setFtyCode(ftyCode)
+                .setCpId(cpId)
+                .setCpCode(cpCode)
                 .setToken(token)
                 .setHost("127.0.0.1")
                 .setSalt(salt)

+ 6 - 6
src/main/java/com/dk/oauth/shiro/realm/JWTClientRealm.java

@@ -76,19 +76,19 @@ public class JWTClientRealm extends AuthorizingRealm implements CustomeRealm {
         }
         AuthClient client = authClientService.getOne(new QueryWrapper<AuthClient>().lambda().eq(AuthClient::getClientId, jwtToken.getClientId()));
         String userName = JwtUtil.getUserName(jwtToken.getToken());
-        String ftyId = JwtUtil.getFtyId(jwtToken.getToken());
-        String ftyCode = JwtUtil.getFtyCode(jwtToken.getToken());
+        String cpId = JwtUtil.getCPId(jwtToken.getToken());
+        String cpCode = JwtUtil.getCpCode(jwtToken.getToken());
         String lang = JwtUtil.getLang(jwtToken.getToken());
         log.info("----------------->>>>>");
         String token = "";
         JWTToken buildToken = null;
         if ("微信".equals(client.getClientName())) {
-            token = JwtUtil.sign(userName, ftyId, ftyCode, client.getClientId(), userName,lang);
-            buildToken = JWTToken.build(token, userName, ftyId, ftyCode, userName, OauthConstants.EXPIRES_IN, GrantType.CLIENT_CREDENTIALS.toString(), client.getClientId(), lang);
+            token = JwtUtil.sign(userName, cpId, cpCode, client.getClientId(), userName,lang);
+            buildToken = JWTToken.build(token, userName, cpId, cpCode, userName, OauthConstants.EXPIRES_IN, GrantType.CLIENT_CREDENTIALS.toString(), client.getClientId(), lang);
             return new SimpleAuthenticationInfo(buildToken, userName, getName());
         } else {
-            token = JwtUtil.sign(userName, ftyId, ftyCode, client.getClientId(), client.getClientSecret(),lang);
-            buildToken = JWTToken.build(token, client.getClientId(), ftyId, ftyCode, client.getClientId(), OauthConstants.EXPIRES_IN, GrantType.CLIENT_CREDENTIALS.toString(), client.getClientId(), lang);
+            token = JwtUtil.sign(userName, cpId, cpCode, client.getClientId(), client.getClientSecret(),lang);
+            buildToken = JWTToken.build(token, client.getClientId(), cpId, cpCode, client.getClientId(), OauthConstants.EXPIRES_IN, GrantType.CLIENT_CREDENTIALS.toString(), client.getClientId(), lang);
             return new SimpleAuthenticationInfo(buildToken, client.getClientId(), getName());
         }
     }

+ 4 - 4
src/main/java/com/dk/oauth/shiro/realm/JWTRealm.java

@@ -93,12 +93,12 @@ public class JWTRealm extends AuthorizingRealm implements CustomeRealm {
             throw new AuthenticationException("salt is null");
         }
         String userName = jwtToken.getUsername();
-        String ftyId = jwtToken.getFtyId();
-        String ftyCode = jwtToken.getFtyCode();
+        String cpId = jwtToken.getCpId();
+        String cpCode = jwtToken.getCpCode();
         String lang = jwtToken.getLang();
-        String token = JwtUtil.sign(userName, ftyId, ftyCode, jwtToken.getClientId(), userName,lang);
+        String token = JwtUtil.sign(userName, cpId, cpCode, jwtToken.getClientId(), userName,lang);
         // SALT字段需要替换
-        JWTToken buildToken = JWTToken.build(token, userName, ftyId, ftyCode, salt, OauthConstants.EXPIRES_IN, GrantType.AUTHORIZATION_CODE.toString(), null,lang);
+        JWTToken buildToken = JWTToken.build(token, userName, cpId, cpCode, salt, OauthConstants.EXPIRES_IN, GrantType.AUTHORIZATION_CODE.toString(), null,lang);
         return new SimpleAuthenticationInfo(buildToken, salt, getName());
     }
 

+ 17 - 17
src/main/java/com/dk/oauth/util/JwtUtil.java

@@ -16,8 +16,8 @@ import java.util.Date;
 public class JwtUtil {
     public static final String SHIRO_USER_NAME = "username";
     public static final String SHIRO_USER_ID = "userId";
-    public static final String SHIRO_FTY_ID = "ftyId";
-    public static final String SHIRO_FTY_CODE = "ftyCode";
+    public static final String SHIRO_CP_ID = "cpId";
+    public static final String SHIRO_CP_CODE = "cpCode";
     public static final String SHIRO_CLIENT_ID = "clientId";
     public static final String SHIRO_APP_CODE = "appCode";
     public static final String SHIRO_USER_SALT = "salt";
@@ -105,14 +105,14 @@ public class JwtUtil {
     }
 
     /**
-     * @desc : 获取token中FtyId
+     * @desc : 获取token中CpId
      * @author : 周兴
      * @date : 2023/2/26 16:32
      */
-    public static String getFtyId(String token) {
+    public static String getCPId(String token) {
         try {
             DecodedJWT jwt = JWT.decode(token);
-            return jwt.getClaim(SHIRO_FTY_ID).asString();
+            return jwt.getClaim(SHIRO_CP_ID).asString();
         } catch (JWTDecodeException e) {
             log.error("error:{}", e.getMessage());
             return null;
@@ -120,14 +120,14 @@ public class JwtUtil {
     }
 
     /**
-     * @desc : 获取token中FtyCode
+     * @desc : 获取token中CpCode
      * @author : 周兴
      * @date : 2023/2/26 16:32
      */
-    public static String getFtyCode(String token) {
+    public static String getCpCode(String token) {
         try {
             DecodedJWT jwt = JWT.decode(token);
-            return jwt.getClaim(SHIRO_FTY_CODE).asString();
+            return jwt.getClaim(SHIRO_CP_CODE).asString();
         } catch (JWTDecodeException e) {
             log.error("error:{}", e.getMessage());
             return null;
@@ -176,7 +176,7 @@ public class JwtUtil {
      * @param salt     盐值
      * @return 加密的token
      */
-    public static String sign(String username, String userId, String appCode, String clientId, String salt, String ftyId, String ftyCode, String lang) {
+    public static String sign(String username, String userId, String appCode, String clientId, String salt, String cpId, String cpCode, String lang) {
         Date expireDate = new Date(System.currentTimeMillis() + OauthConstants.EXPIRES_IN);
         //加盐值
         Algorithm algorithm = Algorithm.HMAC256(salt);
@@ -184,8 +184,8 @@ public class JwtUtil {
         return JWT.create()
                 .withClaim(SHIRO_USER_NAME, username)
                 .withClaim(SHIRO_USER_ID, userId)
-                .withClaim(SHIRO_FTY_ID, ftyId)
-                .withClaim(SHIRO_FTY_CODE, ftyCode)
+                .withClaim(SHIRO_CP_ID, cpId)
+                .withClaim(SHIRO_CP_CODE, cpCode)
                 .withClaim(SHIRO_APP_CODE, appCode)
                 .withClaim(SHIRO_CLIENT_ID, clientId)
                 .withClaim(SHIRO_USER_SALT, salt)
@@ -206,7 +206,7 @@ public class JwtUtil {
                 .sign(algorithm);
     }
 
-    public static String sign(String username, String userId, String appCode, String clientId, String salt, String grantType, String ftyId, String ftyCode, String lang) {
+    public static String sign(String username, String userId, String appCode, String clientId, String salt, String grantType, String cpId, String cpCode, String lang) {
         Date expireDate = new Date(System.currentTimeMillis() + OauthConstants.EXPIRES_IN);
         //加盐值
         Algorithm algorithm = Algorithm.HMAC256(salt);
@@ -214,8 +214,8 @@ public class JwtUtil {
         return JWT.create()
                 .withClaim(SHIRO_USER_NAME, username)
                 .withClaim(SHIRO_USER_ID, userId)
-                .withClaim(SHIRO_FTY_ID, ftyId)
-                .withClaim(SHIRO_FTY_CODE, ftyCode)
+                .withClaim(SHIRO_CP_ID, cpId)
+                .withClaim(SHIRO_CP_CODE, cpCode)
                 .withClaim(SHIRO_APP_CODE, appCode)
                 .withClaim(SHIRO_CLIENT_ID, clientId)
                 .withClaim(SHIRO_USER_SALT, salt)
@@ -237,15 +237,15 @@ public class JwtUtil {
                 .sign(algorithm);
     }
 
-    public static String sign(String username, String clientId, String salt, String ftyId, String ftyCode, String lang) {
+    public static String sign(String username, String clientId, String salt, String cpId, String cpCode, String lang) {
         Date expireDate = new Date(System.currentTimeMillis() + OauthConstants.EXPIRES_IN);
         //加盐值
         Algorithm algorithm = Algorithm.HMAC256(salt);
         // 附带username信息
         return JWT.create()
                 .withClaim(SHIRO_USER_NAME, username)
-                .withClaim(SHIRO_FTY_ID, ftyId)
-                .withClaim(SHIRO_FTY_CODE, ftyCode)
+                .withClaim(SHIRO_CP_ID, cpId)
+                .withClaim(SHIRO_CP_CODE, cpCode)
                 .withClaim(SHIRO_CLIENT_ID, clientId)
                 .withClaim(SHIRO_USER_SALT, salt)
                 .withClaim(SHIRO_APP_LANG, lang)