Spring Boot 如何接受没有发行人字段的JWT?

wbgh16ku  于 2023-02-19  发布在  Spring
关注(0)|答案(1)|浏览(107)

如果JWT缺少一个issuer字段,我希望回退到jwk-uri或jwk-key-set,我需要在Spring oauth2库中覆盖什么,因为在缺少issuer时失败是Spring的默认行为。
另一种方法是检测缺失的issuer字段,并在该字段中注入一个字符串,如emptyIssuer......然后我可以在应用程序属性中定义适当的issuer。

wrrgggsh

wrrgggsh1#

对于Sping 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,则

  • JWT解码器被配置为对照conf中的值检查iss声明
  • Boot 尽最大努力从issuer-uri推断jwk-set-uri(当授权服务器符合OIDC时, Bootstrap 成功)

相关问题