我正在研究一个使用spring-boot-starter-oauth2-resource-server的项目。您可以为自定义声明提供额外的token validation的文档说明。似乎有两种方法可以使用issuerUri设置NimbusJwtDecoder:
NimbusJwtDecoder jwtDecoder = (NimbusJwtDecoder) JwtDecoders.fromIssuerLocation(issuerUri);
或使用jwkSetUri
NimbusJwtDecoder jwtDecoder = NimbusJwtDecoder.withJwkSetUri(jwkSetUri);
以上两种方法的优缺点是什么? 是否可以同时设置两个值?还是这个回教徒?
此外,在上面的链接中提供的示例中,当使用第一种方法时,您似乎必须为发行者显式添加验证器:
OAuth2TokenValidator<Jwt> withIssuer = JwtValidators.createDefaultWithIssuer(issuerUri);
OAuth2TokenValidator<Jwt> withAudience = new DelegatingOAuth2TokenValidator<>(withIssuer, audienceValidator);
jwtDecoder.setJwtValidator(withAudience);
是否还需要添加使用jwkSetUri的令牌签名的验证器?
对于使用JwtDecoder进行自定义验证的任何建议,我们将不胜感激