Spring Boot и Spring Security: OAuth2, сервер ресурсов

Если на вашем пути к классу есть spring-security-oauth2-resource-server, Spring Boot может настроить сервер ресурсов OAuth2. Для конфигурации JWT необходимо указать URI набора JWK или URI эмитента OIDC, как показано в следующих примерах:

spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://example.com/oauth2/default/v1/keys
spring.security.oauth2.resourceserver.jwt.issuer-uri=https://dev-123456.oktapreview.com/oauth2/default/

Если сервер авторизации не поддерживает URI набора JWK, вы можете настроить сервер ресурсов с помощью открытого ключа, используемого для проверки подписи JWT. Это можно сделать с помощью свойства spring.security.oauth2.resourceserver.jwt.public-key-location, где значение должно указывать на файл, содержащий открытый ключ в формате x509 в кодировке PEM.

Одинаковые свойства применимы как для сервлетов, так и для реактивных приложений.

Кроме того, вы можете определить свой собственный компонент JwtDecoder для приложений сервлетов или ReactiveJwtDecoder для реактивных приложений.

В случаях, когда непрозрачные (opaque) токены используются вместо JWT, вы можете настроить следующие свойства для проверки токенов с помощью самоанализа:

spring.security.oauth2.resourceserver.opaquetoken.introspection-uri=https://example.com/check-token
spring.security.oauth2.resourceserver.opaquetoken.client-id=my-client-id
spring.security.oauth2.resourceserver.opaquetoken.client-secret=my-client-secret

Опять же, одинаковые свойства применимы как для сервлетов, так и для реактивных приложений.

Кроме того, вы можете определить свой собственный компонент OpaqueTokenIntrospector для приложений сервлетов или ReactiveOpaqueTokenIntrospector для реактивных приложений.

Сервер авторизации

В настоящее время Spring Security не предоставляет поддержку для реализации сервера авторизации OAuth 2.0. Однако эта функциональность доступна в проекте Spring Security OAuth, который в конечном итоге будет полностью заменен на Spring Security. До этого вы можете использовать модуль spring-security-oauth2-autoconfigure для простой настройки сервера авторизации OAuth 2.0.


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки