带有自定义令牌验证的Spring OAuth2资源服务器

时间:2020-07-14 10:29:37

标签: spring-boot spring-security jwt spring-oauth2

我正在研究一个使用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进行自定义验证的任何建议,我们将不胜感激

0 个答案:

没有答案