Spring Security / Приложение к приложению / JWT-носитель - PullRequest
0 голосов
/ 27 ноября 2018

Я работаю над секьюризацией конечных точек "WebFlux" моего приложения с помощью Spring Security 5.1.1.RELEASE.Я хотел бы добиться следующего сценария:

  • Сервер аутентификации : я использую Keycloak в качестве сервера аутентификации
  • Сервер ресурсов : Я использую пакет spring-security-oauth2-resource-server для обеспечения аутентификации JWT по определенным путям
  • Клиент : Мне нужно использовать аутентификацию OAuth2 на основе "учетных данных клиента"

Когда я использую curl, это довольно просто:

  • Запросить новый токен с моего сервера аутентификации, используя конечную точку "token" и тип предоставления "client_credentials"
  • Извлечь "access_token "из ответа JSON
  • Используйте JWT в опции curl -H "Authorization: Bearer $JWT", чтобы вставить токен в мой запрос

Теперь я хочу использовать Spring инъекции для использованияbean-компонент WebClient, настроенный для автоматического запроса токена JWT и последующего использования его для доступа к защищенной конечной точке моего приложения.

Я попытался реализовать пример, показанный в документации Spring Security - WebClient , но безуспешно.

Я ищу пример аутентификации приложения к приложению.Один - это сервер ресурсов, а другой - клиент, подключающийся к API WebFlux с помощью WebClient.

1 Ответ

0 голосов
/ 02 декабря 2018

Наконец-то мне удалось выполнить реализацию процесса аутентификации OAuth2 с использованием библиотек Spring Security OAuth2 (клиент и ресурс-сервер) для сценария "машина-машина".

Пожалуйста, найдите демонстрационные источники и некоторые поясненияпо этой ссылке: https://github.com/Brico87/spring-security-oauth2-m2m.

Spring Security с поддержкой OAuth2 довольно быстро и эффективно использовать, если вам удастся найти удачное сочетание между экземплярами компонентов!

...