lyhzzz vor 1 Monat
Ursprung
Commit
ff4e64ea6e

+ 6 - 0
pom.xml

@@ -20,6 +20,12 @@
 
         <dependency>
             <groupId>com.fdkankan</groupId>
+            <artifactId>4dkankan-utils-sign</artifactId>
+            <version>3.0.0-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fdkankan</groupId>
             <artifactId>4dkankan-utils-redis</artifactId>
             <version>3.0.0-SNAPSHOT</version>
         </dependency>

+ 6 - 0
src/main/java/com/fdkankan/agent/config/AgentConfig.java

@@ -21,4 +21,10 @@ public class AgentConfig {
 
     @Value("${agent.task.auth-exp-day}")
     private Integer authExpDay;
+
+    @Value("${agent.sign.publicKey}")
+    public String publicKey;
+
+    @Value("${agent.sign.appid}")
+    public String appid;
 }

+ 34 - 0
src/main/java/com/fdkankan/agent/httpClient/SignInterceptor.java

@@ -0,0 +1,34 @@
+package com.fdkankan.agent.httpClient;
+
+import com.alibaba.fastjson.JSONObject;
+import com.dtflys.forest.http.ForestRequest;
+import com.dtflys.forest.interceptor.Interceptor;
+import com.dtflys.forest.reflection.ForestMethod;
+import com.fdkankan.agent.config.AgentConfig;
+import com.fdkankan.sign.RsaUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.time.Instant;
+
+@Component
+@Slf4j
+public class SignInterceptor implements Interceptor<JSONObject> {
+
+    @Autowired
+    AgentConfig agentConfig;
+
+    @Override
+    public void onInvokeMethod(ForestRequest request, ForestMethod method, Object[] args) {
+        JSONObject playload = new JSONObject();
+        Instant now = Instant.now();
+        long epochSecond = now.getEpochSecond();
+        playload.put("appId", agentConfig.getAppid());
+        playload.put("timestamp", epochSecond);
+        request.addHeader("sign", RsaUtils.encipher(playload.toJSONString(), agentConfig.getPublicKey()));
+        request.addHeader("appid",agentConfig.getAppid());
+
+    }
+}

+ 3 - 2
src/main/java/com/fdkankan/agent/httpClient/client/LaserClient.java

@@ -1,6 +1,7 @@
 package com.fdkankan.agent.httpClient.client;
 
 import com.dtflys.forest.annotation.*;
+import com.fdkankan.agent.httpClient.SignInterceptor;
 import com.fdkankan.agent.httpClient.address.LaserAddressSource;
 import com.fdkankan.agent.httpClient.request.LaserSceneMoveParam;
 import com.fdkankan.agent.httpClient.request.LaserSceneParam;
@@ -19,11 +20,11 @@ public interface LaserClient {
     /**
      * 获取深时场景数据
      */
-    @Post("/laser/4dage/managerSceneList")
+    @Post(value = "/laser/4dage/managerSceneList",interceptor = SignInterceptor.class)
     LaserResponse sceneList(@JSONBody LaserSceneParam param);
     /**
      * 相机迁移
      */
-    @Post("/laser/4dage/scene/migrate")
+    @Post(value = "/laser/4dage/scene/migrate",interceptor = SignInterceptor.class)
     FdkkResponse migrate(@JSONBody LaserSceneMoveParam param);
 }