diff --git a/dsAiSupport/pom.xml b/dsAiSupport/pom.xml index d60b519f..5ef3231a 100644 --- a/dsAiSupport/pom.xml +++ b/dsAiSupport/pom.xml @@ -38,7 +38,11 @@ cos ${jfinal-cos.version} - + + com.auth0 + java-jwt + 4.4.0 + com.alibaba diff --git a/dsAiSupport/src/main/java/com/dsideal/aiSupport/Util/JiMeng/Kit/JmCommon.java b/dsAiSupport/src/main/java/com/dsideal/aiSupport/Util/JiMeng/Kit/JmCommon.java index 144a3358..53f25610 100644 --- a/dsAiSupport/src/main/java/com/dsideal/aiSupport/Util/JiMeng/Kit/JmCommon.java +++ b/dsAiSupport/src/main/java/com/dsideal/aiSupport/Util/JiMeng/Kit/JmCommon.java @@ -20,6 +20,8 @@ import java.security.MessageDigest; import java.text.SimpleDateFormat; import java.util.*; +import static com.dsideal.aiSupport.AiSupportApplication.getEnvPrefix; + /** * 即梦API通用工具类 * 用于处理火山引擎API的请求签名和发送 @@ -75,18 +77,6 @@ public class JmCommon { URLENCODER.set('~'); } - /** - * 获取当前运行环境前缀 - * - * @return 环境前缀,默认为"dev" - */ - public static String getEnvPrefix() { - String myEnvVar = System.getenv("WORKING_ENV"); - if (myEnvVar == null) { - myEnvVar = "dev"; // 默认为开发环境 - } - return myEnvVar; - } /** * 发送HTTP请求到火山引擎API diff --git a/dsAiSupport/src/main/java/com/dsideal/aiSupport/Util/KeLing/JWTDemo.java b/dsAiSupport/src/main/java/com/dsideal/aiSupport/Util/KeLing/JWTDemo.java new file mode 100644 index 00000000..4314a272 --- /dev/null +++ b/dsAiSupport/src/main/java/com/dsideal/aiSupport/Util/KeLing/JWTDemo.java @@ -0,0 +1,50 @@ +package com.dsideal.aiSupport.Util.KeLing; + + +import com.auth0.jwt.JWT; +import com.auth0.jwt.algorithms.Algorithm; +import com.dsideal.aiSupport.Plugin.YamlProp; +import com.jfinal.kit.Prop; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import static com.dsideal.aiSupport.AiSupportApplication.getEnvPrefix; + +public class JWTDemo { + + static String ak; // 填写access key + static String sk; // 填写secret key + public static Prop PropKit; // 配置文件工具 + static { + //加载配置文件 + String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix()); + PropKit = new YamlProp(configFile); + ak = PropKit.get("KeLing.ak"); + sk = PropKit.get("KeLing.sk"); + } + static String sign(String ak,String sk) { + try { + Date expiredAt = new Date(System.currentTimeMillis() + 1800*1000); // 有效时间,此处示例代表当前时间+1800s(30min) + Date notBefore = new Date(System.currentTimeMillis() - 5*1000); //开始生效的时间,此处示例代表当前时间-5秒 + Algorithm algo = Algorithm.HMAC256(sk); + Map header = new HashMap<>(); + header.put("alg", "HS256"); + return JWT.create() + .withIssuer(ak) + .withHeader(header) + .withExpiresAt(expiredAt) + .withNotBefore(notBefore) + .sign(algo); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + public static void main(String[] args) { + String token = sign(ak, sk); + System.out.println(token); // 打印生成的API_TOKEN + } + +} diff --git a/dsAiSupport/src/main/resources/application_dev.yaml b/dsAiSupport/src/main/resources/application_dev.yaml index fae31765..0286e0a5 100644 --- a/dsAiSupport/src/main/resources/application_dev.yaml +++ b/dsAiSupport/src/main/resources/application_dev.yaml @@ -62,3 +62,9 @@ JiMeng: # Secret Access Key sk: WkdabU9UTXdNVEJpTmpWbE5HVTJZVGxtTnpWbU5XSTBaRGN5TW1NMk5tRQ== +# 可灵 +KeLing: + # Access Key ID + ak: c992fd02624d4900a93ca3b6da03d9e9 + # Secret Access Key + sk: b37f67a00eb44f9bb57e4d530c328e1d diff --git a/dsAiSupport/src/main/resources/application_pro.yaml b/dsAiSupport/src/main/resources/application_pro.yaml index c53ac01e..5f29bea4 100644 --- a/dsAiSupport/src/main/resources/application_pro.yaml +++ b/dsAiSupport/src/main/resources/application_pro.yaml @@ -61,3 +61,10 @@ JiMeng: ak: AKLTZjVlOGU1NzA1YWZkNDExMzkzYzY5YTNlOTRmMTMxODg # Secret Access Key sk: WkdabU9UTXdNVEJpTmpWbE5HVTJZVGxtTnpWbU5XSTBaRGN5TW1NMk5tRQ== + +# 可灵 +KeLing: + # Access Key ID + ak: c992fd02624d4900a93ca3b6da03d9e9 + # Secret Access Key + sk: b37f67a00eb44f9bb57e4d530c328e1d \ No newline at end of file diff --git a/dsAiSupport/target/classes/application_dev.yaml b/dsAiSupport/target/classes/application_dev.yaml index fae31765..0286e0a5 100644 --- a/dsAiSupport/target/classes/application_dev.yaml +++ b/dsAiSupport/target/classes/application_dev.yaml @@ -62,3 +62,9 @@ JiMeng: # Secret Access Key sk: WkdabU9UTXdNVEJpTmpWbE5HVTJZVGxtTnpWbU5XSTBaRGN5TW1NMk5tRQ== +# 可灵 +KeLing: + # Access Key ID + ak: c992fd02624d4900a93ca3b6da03d9e9 + # Secret Access Key + sk: b37f67a00eb44f9bb57e4d530c328e1d diff --git a/dsAiSupport/target/classes/application_pro.yaml b/dsAiSupport/target/classes/application_pro.yaml index c53ac01e..5f29bea4 100644 --- a/dsAiSupport/target/classes/application_pro.yaml +++ b/dsAiSupport/target/classes/application_pro.yaml @@ -61,3 +61,10 @@ JiMeng: ak: AKLTZjVlOGU1NzA1YWZkNDExMzkzYzY5YTNlOTRmMTMxODg # Secret Access Key sk: WkdabU9UTXdNVEJpTmpWbE5HVTJZVGxtTnpWbU5XSTBaRGN5TW1NMk5tRQ== + +# 可灵 +KeLing: + # Access Key ID + ak: c992fd02624d4900a93ca3b6da03d9e9 + # Secret Access Key + sk: b37f67a00eb44f9bb57e4d530c328e1d \ No newline at end of file