如何解决Spring Boot 2.3.4:使用JwtValidators.createDefaultWithIssuerString的错误吗?
我发现JWT解析和JwtValidators的行为很奇怪。
场景:
- Spring Boot OIDC客户端(目前仅是一个小型Web应用程序,仅显示Spring登录的用户和一些OIDC对象)
- 用于ID令牌验证的自定义
JwtDecoderFacotry<ClientRegistration>
-
JwtValidatorFactory
基于JwtValidators.createDefaultWithIssuer(String)
这在Spring Boot版本
调试:
-
NimbusJwtDecoder
(JAR spring-security-oauth2-jose)使用声明集转换器。 “ iss”(发布者)声明将作为URL处理。 -
JwtIssuerValidator
(由JwtValidators.createDefaultWithIssuer(String)
内部创建)包装JwtClaimValidator<String>
。 - 此人最终调用了始终为
equals()
的{{1}}-它比较String和URL。
我当前的解决方法不是调用false
,而只是使用验证器JwtValidators.createDefaultWithIssuer()
和new JwtTimestampValidator()
的自己实现(包装OAuth2TokenValidator<Jwt>
)。
还有其他麻烦吗?
-基督徒
解决方法
这是一个错误。拉取请求已创建。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。