main
HuangHai 2 months ago
parent 0e2d4f52d4
commit 7ec99eb6d7

@ -38,7 +38,11 @@
<artifactId>cos</artifactId>
<version>${jfinal-cos.version}</version>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>4.4.0</version>
</dependency>
<!-- 数据库相关 -->
<dependency>
<groupId>com.alibaba</groupId>

@ -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;
}
/**
* HTTPAPI

@ -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<String, Object> 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
}
}

@ -62,3 +62,9 @@ JiMeng:
# Secret Access Key
sk: WkdabU9UTXdNVEJpTmpWbE5HVTJZVGxtTnpWbU5XSTBaRGN5TW1NMk5tRQ==
# 可灵
KeLing:
# Access Key ID
ak: c992fd02624d4900a93ca3b6da03d9e9
# Secret Access Key
sk: b37f67a00eb44f9bb57e4d530c328e1d

@ -61,3 +61,10 @@ JiMeng:
ak: AKLTZjVlOGU1NzA1YWZkNDExMzkzYzY5YTNlOTRmMTMxODg
# Secret Access Key
sk: WkdabU9UTXdNVEJpTmpWbE5HVTJZVGxtTnpWbU5XSTBaRGN5TW1NMk5tRQ==
# 可灵
KeLing:
# Access Key ID
ak: c992fd02624d4900a93ca3b6da03d9e9
# Secret Access Key
sk: b37f67a00eb44f9bb57e4d530c328e1d

@ -62,3 +62,9 @@ JiMeng:
# Secret Access Key
sk: WkdabU9UTXdNVEJpTmpWbE5HVTJZVGxtTnpWbU5XSTBaRGN5TW1NMk5tRQ==
# 可灵
KeLing:
# Access Key ID
ak: c992fd02624d4900a93ca3b6da03d9e9
# Secret Access Key
sk: b37f67a00eb44f9bb57e4d530c328e1d

@ -61,3 +61,10 @@ JiMeng:
ak: AKLTZjVlOGU1NzA1YWZkNDExMzkzYzY5YTNlOTRmMTMxODg
# Secret Access Key
sk: WkdabU9UTXdNVEJpTmpWbE5HVTJZVGxtTnpWbU5XSTBaRGN5TW1NMk5tRQ==
# 可灵
KeLing:
# Access Key ID
ak: c992fd02624d4900a93ca3b6da03d9e9
# Secret Access Key
sk: b37f67a00eb44f9bb57e4d530c328e1d
Loading…
Cancel
Save