如果 JWT 缺少颁发者字段,我想回退到
jwk-uri
或 jwk-key-set
,我需要在 Spring OAuth2 库中覆盖什么,因为缺少颁发者失败是 Spring 默认行为。
另一种方法是检测丢失的发行人字段,并使用诸如
emptyIssuer
之类的字符串注入该字段...然后我可以在应用程序属性中定义适当的发行人。
使用 Spring Boot,仅定义
spring.security.oauth2.resourceserver.jwt.jwk-set-uri
属性(而不是 spring.security.oauth2.resourceserver.jwt.issuer-uri
)。
JWK 集足以让解码器验证 JWT 签名。
如果设置了
spring.security.oauth2.resourceserver.jwt.issuer-uri
,则
iss
声明jwk-set-uri
推断 issuer-uri
(当授权服务器兼容 OIDC 时成功)