瀏覽代碼

不限制设备和调整appid

liuchengsen 1 月之前
父節點
當前提交
348c9af41f

+ 4 - 6
zhijiayun-gateway/src/main/resources/application-prod.yml

@@ -40,8 +40,8 @@ spring:
 # JWT 密钥:生产部署时通过环境变量覆盖
 jwt:
   secret: ${JWT_SECRET:YourSuperSecretKeyForJWTTokenGenerationMustBeAtLeast256BitsLong!!}
-  user-expiration: 3600000         # 1小时(毫秒)
-  admin-expiration: 43200000       # 12小时(毫秒)
+  user-expiration: 2592000000         # 1小时(毫秒)
+  admin-expiration: 2592000000       # 12小时(毫秒)
   miniapp-expiration: 2592000000   # 小程序 30天(毫秒)
   expiration: 300000
   refresh-expiration: 604800000
@@ -58,8 +58,6 @@ wechat:
 
 # 阿里云短信:生产部署时通过环境变量覆盖
 sms:
-  test-mode: true
-  test-code: "123456"
   access-key-id: ${ALIBABA_CLOUD_ACCESS_KEY_ID:LTAI5tDwjfteBvivYN41r8sJ}
   access-key-secret: ${ALIBABA_CLOUD_ACCESS_KEY_SECRET:yowuOGi2nYYnrqGpO3qcz94C4brcPp}
   sign-name: ${SMS_SIGN_NAME:开邻}
@@ -166,5 +164,5 @@ payment:
   # 小程序 JSAPI 下单签名的 appId 必须为小程序自身的 appId,与 Native 扫码的 appId 区分
   # 不配置时自动回退到 payment.wechat.app-id(当两者相同时可省略)
   miniapp:
-    app-id: ${WECHAT_PAY_MINIAPP_APP_ID:wx246605ec671bf08d}
-    app-secret: ${WECHAT_PAY_MINIAPP_APP_SECRET:5dfa6b60f10347ffa7b959658b3f2496}
+    app-id: ${WECHAT_PAY_MINIAPP_APP_ID:wx24a9669e84ba1f0b}
+    app-secret: ${WECHAT_PAY_MINIAPP_APP_SECRET:dd9bfde339632c26eeb00c7cb1725696}

+ 20 - 14
zhijiayun-user/src/main/java/com/xuekairui/user/security/JwtAuthenticationFilter.java

@@ -151,9 +151,9 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
      * <p>
      * 普通用户:
      * <ul>
-     *   <li>小程序端(loginSource=MINIAPP):范围匹配 [current-1, current],与 PC 共存</li>
+     *   <li>小程序端(loginSource=MINIAPP):最多 5 台,与 PC 共存</li>
      *   <li>旧 token(loginSource 为空或 UNKNOWN,修复前签发):范围匹配,向前兼容,给老用户宽限期</li>
-     *   <li>PC 端(loginSource=PC):精确匹配,严格单设备</li>
+     *   <li>PC 端(loginSource=PC):最多 5 台同时在线</li>
      * </ul>
      */
     private boolean isTokenVersionValid(Long id, String loginSource,
@@ -182,24 +182,30 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
             tokenVersionCache.putVersion(id, isAdmin, currentVersion);
         }
 
-        if (isAdmin) {
-            return tokenVer <= currentVersion && (currentVersion - tokenVer) < 5;
-        }
-
-        // 小程序端:范围匹配,最多 2 台,不踢 PC
-        if ("MINIAPP".equals(loginSource)) {
-            return tokenVer <= currentVersion && (currentVersion - tokenVer) < 2;
-        }
+//        if (isAdmin) {
+//            return tokenVer <= currentVersion && (currentVersion - tokenVer) < 5;
+//        }
+//
+//        // 小程序端:暂不限制设备数,不踢 token
+//        if ("MINIAPP".equals(loginSource)) {
+//            return tokenVer <= currentVersion && (currentVersion - tokenVer) < 2;
+//        }
+//
+//        // 旧 token(loginSource 为空或 UNKNOWN,即修复前签发的 token):
+//        // 暂不限制设备数,不踢 token
+//        if (loginSource == null || "UNKNOWN".equals(loginSource)) {
+//            return tokenVer <= currentVersion && (currentVersion - tokenVer) < 2;
+//        }
 
         // 旧 token(loginSource 为空或 UNKNOWN,即修复前签发的 token):
         // 走范围匹配,给老用户一个宽限期,避免 tokenVersion 变化后被立即踢出。
         // 真正的向前兼容:旧 token 容忍 2 个版本差异,平滑过渡到新 token。
-        if (loginSource == null || "UNKNOWN".equals(loginSource)) {
-            return tokenVer <= currentVersion && (currentVersion - tokenVer) < 2;
-        }
+    //    if (loginSource == null || "UNKNOWN".equals(loginSource)) {
+     //       return tokenVer <= currentVersion && (currentVersion - tokenVer) < 2;
+     //   }
 
         // PC 端(明确 loginSource=PC):精确匹配,严格单设备
-        return currentVersion.equals(tokenVer);
+        return true;
     }
 
     /**