Я работаю над защитой конечных точек "WebFlux" моего приложения с помощью Spring Security 5.1.1.RELEASE. Я бы хотел добиться следующего сценария:
- Сервер аутентификации: я использую Keycloak в качестве сервера аутентификации.
- Сервер ресурсов: я использую пакет
spring-security-oauth2-resource-server
для обеспечения аутентификации JWT на определенных путях. - Клиент: мне нужно использовать аутентификацию OAuth2 на основе "учетных данных клиента".
Когда я использую curl, это довольно просто:
- Запросить новый токен с моего сервера аутентификации, используя конечную точку "токен" и тип предоставления "client_credentials"
- Извлеките access_token из ответа JSON.
- Используйте JWT в
-H "Authorization: Bearer $JWT"
опции curl, чтобы встроить токен в мой запрос
Теперь я хочу выполнить инъекции Spring, чтобы использовать bean-компонент WebClient
, настроенный для автоматического запроса токена JWT, а затем использовать его для доступа к защищенной конечной точке моего приложения.
Я попытался реализовать пример, показанный в документации Spring Security - WebClient, но безуспешно.
Я ищу пример проверки подлинности приложения для приложения. Один из них - это сервер ресурсов, а другой - клиент, подключающийся к API WebFlux с помощью WebClient.