类 ThirdPartAuthService
java.lang.Object
net.sohelp.boot.dev.web.system.thirdpart.ThirdPartAuthService
接口授权验证服务
提供第三方应用接口授权的密钥验证、Token认证、到期检查等方法, 可在 Java 控制器或 Magic-API 脚本中直接调用。
Magic-API 使用示例:
import net.sohelp.boot.dev.web.system.thirdpart.ThirdPartAuthService
// Token 模式:app_key + app_secret 换取 Token
var result = ThirdPartAuthService.authenticate("app-key", "app-secret");
// 验证当前请求的第三方 Token
var result = ThirdPartAuthService.validateToken();
// 简单模式:验证密钥
var result = ThirdPartAuthService.validateKey("your-app-key");
- 从以下版本开始:
- 2026/3/27
- 作者:
- AaronFung
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明authenticate(String appKey, String appSecret) 第三方应用认证:app_key + app_secret 换取 SaTokenstatic booleancheckExpire(Object configId) 根据配置ID检查是否已到期static StringdecryptSecret(String encryptedSecret) 解密 app_secret(从数据库读取后调用)static StringencryptSecret(String plainSecret) 加密 app_secret(存储到数据库前调用)getConfigByKey(String appKey) 根据 app_key 获取配置信息(不做状态和到期校验)static void注销第三方应用 TokenvoidsetEncryptKey(String signSecretKey) voidsetJdbcHelper(JdbcHelper jdbcHelper) validateKey(String appKey) 根据 app_key 验证第三方配置校验当前请求是否为已认证的第三方应用
-
构造器详细资料
-
ThirdPartAuthService
public ThirdPartAuthService()
-
-
方法详细资料
-
setJdbcHelper
-
setEncryptKey
-
encryptSecret
加密 app_secret(存储到数据库前调用)- 参数:
plainSecret- 明文密钥- 返回:
- 加密后的 Base64 字符串;若未配置加密密钥则原样返回
-
decryptSecret
解密 app_secret(从数据库读取后调用)- 参数:
encryptedSecret- 加密后的密钥- 返回:
- 明文密钥;若解密失败则原样返回(兼容历史明文数据)
-
validateKey
根据 app_key 验证第三方配置检查密钥是否存在、是否启用、是否已到期
- 参数:
appKey- 第三方应用密钥- 返回:
- 验证结果 Map,包含 success(boolean), message(String), config(Map)
-
authenticate
第三方应用认证:app_key + app_secret 换取 SaToken验证通过后,使用 SaToken 签发 Token,第三方后续请求通过 Authorization 头携带 Token 访问接口。 登录 ID 格式为 "third:{configId}",与普通用户登录隔离。
Magic-API 使用示例:
var result = ThirdPartAuthService.authenticate("app-key-xxx", "app-secret-xxx"); // result: {success:true, token:"xxx", expire:7200, config_id:123}- 参数:
appKey- 应用ID/AppKeyappSecret- 应用密钥/AppSecret- 返回:
- 认证结果 Map,成功时包含 token、expire、config_id
-
logout
注销第三方应用 Token- 参数:
configId- 第三方配置ID
-
validateToken
校验当前请求是否为已认证的第三方应用检查当前 SaToken 会话的 loginId 是否以 "third:" 开头, 并验证对应的第三方配置仍然有效(启用且未到期)。
- 返回:
- 验证结果 Map,成功时包含 config
-
checkExpire
根据配置ID检查是否已到期- 参数:
configId- 配置记录ID- 返回:
- true=已到期, false=未到期或永久
-
getConfigByKey
根据 app_key 获取配置信息(不做状态和到期校验)- 参数:
appKey- 应用密钥- 返回:
- 配置 Map,不存在返回 null
-