Class SignAutoConfiguration
java.lang.Object
tech.riemann.nif.starter.security.sign.SignAutoConfiguration
@AutoConfiguration
@EnableConfigurationProperties(SignConfigurationProperties.class)
public class SignAutoConfiguration
extends Object
签名验证自动配置
签名验签为显式 opt-in 能力(默认关闭),用于系统间调用安全:
有需求者配置 enabled: true,提供一个密钥来源 Bean,再在目标接口加
@SignVerify 即可生效;未启用时切面不注册,@SignVerify 仅为无副作用标记注解。
框架不提供任何密钥配置项(无 default-secret / app-secrets /
sm2.default-*)。密钥一律由业务方实现以下 SPI 注入,
典型来源为数据库、配置中心或 KMS,避免密钥随配置文件泄漏、也避免"万能钥匙"兜底:
AppSecretProvider—— 对称算法(HMAC_SHA256 / SM3)取 secret;AppKeyProvider—— 非对称算法(SM2 / RSA)取密钥对。
enabled=true 时启动失败(fail-fast)。
查不到密钥(返回 null)的 appId 一律验签失败,不做任何兜底放行。
配置示例:
nif:
web:
sign:
enabled: true
default-expire-seconds: 300
@Bean
public AppSecretProvider appSecretProvider(AppSecretDao dao) {
return appId -> dao.findSecret(appId); // 未注册的 appId 返回 null,验签直接失败
}
- Author:
- Kerbores(kerbores@riemann.tech)
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
SignAutoConfiguration
public SignAutoConfiguration()
-