Сервер ресурсов Spring OAuth2 с настраиваемой проверкой токена - PullRequest
0 голосов
/ 14 июля 2020

Я работаю над проектом, который использует spring-boot-starter-oauth2-resource-server. Документация ios, в которой вы можете предоставить дополнительную проверку токена для настраиваемых утверждений. Кажется, есть два способа настроить NimbusJwtDecoder: с помощью IssueUri:

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);

Нужно ли добавлять валидатор для подписи токена с использованием jwkSetUrialso?

Любые советы по использованию JwtDecoder с пользовательской проверкой были бы очень признательны

...