From a51ba771e45114bbbc1654904f42df7995d5103a Mon Sep 17 00:00:00 2001
From: chenjiahe <763432473@qq.com>
Date: 星期二, 30 十一月 2021 19:40:43 +0800
Subject: [PATCH] 更改校验方式

---
 src/main/java/com/platform/verification/VerificationTool.java |   24 +++++++++---
 src/main/java/com/platform/constants/LoginConstant.java       |    9 ++++
 src/main/java/com/platform/verification/ApplicationTool.java  |   44 ++++++++++++++++++++++
 src/main/java/com/platform/entity/ThirtApplication.java       |   36 ++++++++++++++++++
 4 files changed, 107 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/platform/constants/LoginConstant.java b/src/main/java/com/platform/constants/LoginConstant.java
new file mode 100644
index 0000000..9982ff5
--- /dev/null
+++ b/src/main/java/com/platform/constants/LoginConstant.java
@@ -0,0 +1,9 @@
+package com.platform.constants;
+
+public class LoginConstant {
+
+    /**鐧诲綍搴旂敤鏍囪瘑*/
+    public static final String LOGIN_APPLY = "login_apply";
+
+
+}
diff --git a/src/main/java/com/platform/entity/ThirtApplication.java b/src/main/java/com/platform/entity/ThirtApplication.java
new file mode 100644
index 0000000..f49ed22
--- /dev/null
+++ b/src/main/java/com/platform/entity/ThirtApplication.java
@@ -0,0 +1,36 @@
+package com.platform.entity;
+
+public class ThirtApplication {
+
+    /**搴旂敤appid*/
+    private String appId;
+    /**搴旂敤鍚嶇О*/
+    private String name;
+    /***/
+    private String privateKey;
+
+    public String getAppId() {
+        return appId;
+    }
+
+    public void setAppId(String appId) {
+        this.appId = appId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getPrivateKey() {
+        return privateKey;
+    }
+
+    public void setPrivateKey(String privateKey) {
+        this.privateKey = privateKey;
+    }
+
+}
diff --git a/src/main/java/com/platform/verification/ApplicationTool.java b/src/main/java/com/platform/verification/ApplicationTool.java
new file mode 100644
index 0000000..1d35829
--- /dev/null
+++ b/src/main/java/com/platform/verification/ApplicationTool.java
@@ -0,0 +1,44 @@
+package com.platform.verification;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.hx.redis.RedisUtil;
+import com.hx.util.DateUtil;
+import com.hx.util.StringUtils;
+import com.hx.util.rsa.RSAUtil;
+import com.platform.entity.ThirtApplication;
+import com.platform.resultTool.PlatformCode;
+import com.platform.resultTool.PlatformResult;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**搴旂敤杞寲
+ * @author CJH
+ * @date 2021-10-20
+ */
+public class ApplicationTool {
+
+    /**鑾峰彇搴旂敤鍦╮edis涓婇潰鐨勬暟鎹�
+     * @param appId 鐢ㄦ埛鐨凙PPID `
+     * @param redisUtil redisUtil
+     * @return
+     */
+    public static ThirtApplication jsonToEntity(String appId, RedisUtil redisUtil){
+
+        if (StringUtils.isEmpty(appId)) {
+            return null;
+        }
+
+        JSONObject thirtApplication = (JSONObject) redisUtil.get(appId);
+
+        //鏍¢獙appid鏄惁瀛樺湪
+        if(thirtApplication == null){
+            return null;
+        }
+        ThirtApplication application = JSONObject.parseObject(thirtApplication.toString(),ThirtApplication.class);
+
+        return application;
+    }
+
+}
diff --git a/src/main/java/com/platform/verification/VerificationTool.java b/src/main/java/com/platform/verification/VerificationTool.java
index f5b8836..c4b1832 100644
--- a/src/main/java/com/platform/verification/VerificationTool.java
+++ b/src/main/java/com/platform/verification/VerificationTool.java
@@ -1,12 +1,17 @@
 package com.platform.verification;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.hx.redis.RedisUtil;
 import com.hx.util.DateUtil;
 import com.hx.util.StringUtils;
 import com.hx.util.rsa.RSAUtil;
+import com.platform.constants.LoginConstant;
+import com.platform.entity.ThirtApplication;
 import com.platform.resultTool.PlatformCode;
 import com.platform.resultTool.PlatformResult;
 
+import javax.servlet.http.HttpServletRequest;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
@@ -17,13 +22,12 @@
 public class VerificationTool {
 
     /**鏍¢獙鏂规硶璇锋眰
-     * @param appId 鐢ㄦ埛鐨凙PPID
+     * @param appId 鐢ㄦ埛鐨凙PPID `
      * @param sign 鐢ㄦ埛绛惧悕
-     * @param sys_appId 绯荤粺鐨刟ppid
-     * @param sys_private_key 绯荤粺鐨凴SA绉橀挜
+     * @param thirtApplication ThirtApplication
      * @return
      */
-    public static PlatformResult verification(String appId,String sign,String sys_appId,String sys_private_key){
+    public static PlatformResult verification(String appId, String sign, ThirtApplication thirtApplication,HttpServletRequest request){
 
         if (StringUtils.isEmpty(sign)) {
             return PlatformResult.failure(PlatformCode.ERROR_SIGN, "绛惧悕閿欒01");
@@ -33,14 +37,19 @@
         }
 
         //鏍¢獙appid鏄惁瀛樺湪
-        if(!sys_appId.equals(appId)){
+        if(thirtApplication == null){
             return PlatformResult.failure(PlatformCode.ERROR_APPIS, "APPID鏃犳晥");
+        }
+
+
+        if(StringUtils.isEmpty(thirtApplication.getPrivateKey())){
+            return PlatformResult.failure(PlatformCode.ERROR_SIGN, "绛惧悕閿欒,APPID鏃犳晥");
         }
 
         //瑙e瘑RSA
         String decrypt = null;
         try{
-            decrypt = RSAUtil.privateDecrypt(sign, sys_private_key);
+            decrypt = RSAUtil.privateDecrypt(sign, thirtApplication.getPrivateKey());
         }catch (Exception e){
 
         }
@@ -73,6 +82,9 @@
             return PlatformResult.failure(PlatformCode.ERRO_VISIT_OVERTIMR, "璁块棶瓒呮椂");
         }
 
+        thirtApplication.setPrivateKey(null);
+        request.setAttribute(LoginConstant.LOGIN_APPLY,thirtApplication);
+
         return PlatformResult.success();
     }
 

--
Gitblit v1.8.0