类 JWKSourceAutoConfiguration
java.lang.Object
io.github.lishangbu.orange.oauth2.authorizationserver.autoconfiguration.JWKSourceAutoConfiguration
- 所有已实现的接口:
- org.springframework.beans.factory.InitializingBean
@AutoConfiguration
public class JWKSourceAutoConfiguration
extends Object
implements org.springframework.beans.factory.InitializingBean
JWKSource 自动装配
负责提供用于签名的 JWKSource 实例,支持从配置加载公/私钥,若未配置则回退为运行时生成的密钥对
行为要点:
- 密钥在首次使用时懒初始化,线程安全
- 优先使用公钥 thumbprint 作为 kid,保证 kid 稳定可复现,避免验证不稳定
- Spring Authorization Server 会自动从 JWKSource 提取公钥信息供 /.well-known/jwks.json 端点使用
- 支持从 classpath 或文件系统加载 PEM 格式的公私钥
- 加载失败时自动回退为随机生成的密钥对,并记录警告
- 从以下版本开始:
- 2025/8/17
- 作者:
- lishangbu
- 
构造器概要构造器
- 
方法概要修饰符和类型方法说明void初始化时尝试从配置的资源位置加载 RSA 公钥和私钥com.nimbusds.jose.jwk.source.JWKSource<com.nimbusds.jose.proc.SecurityContext> 返回用于签名的 JWKSource
- 
构造器详细资料- 
JWKSourceAutoConfigurationpublic JWKSourceAutoConfiguration()
 
- 
- 
方法详细资料- 
jwkSource@Bean @ConditionalOnMissingBean public com.nimbusds.jose.jwk.source.JWKSource<com.nimbusds.jose.proc.SecurityContext> jwkSource()返回用于签名的 JWKSource方法保证密钥已初始化(从配置加载或运行时生成),并返回一个不可变的 JWKSet 供框架选择签名密钥 Spring Authorization Server 会自动处理 /.well-known/jwks.json 端点,从此 JWKSource 提取公钥信息 - 返回:
- 包含私钥的不可变 JWKSource,用于 Authorization Server 的 JWT 签名
 
- 
afterPropertiesSetpublic void afterPropertiesSet()初始化时尝试从配置的资源位置加载 RSA 公钥和私钥优先使用 oauth2Properties 中的 jwtPublicKeyLocation 和 jwtPrivateKeyLocation 指定的资源 若两者均成功加载则使用加载的密钥;若任一密钥缺失或解析失败则回退为随机生成的密钥对, 并记录警告,注意重启后之前签发的 token 将不可解析 支持的资源位置格式: - classpath: classpath:rsa/public.key
- 文件系统: file:/path/to/public.key
- 相对路径: rsa/public.key(相对于 classpath)
 - 指定者:
- afterPropertiesSet在接口中- org.springframework.beans.factory.InitializingBean
 
 
-