У spring-security-oauth2:2.4.0.RELEASE
таких класах, як OAuth2RestTemplate
, OAuth2ProtectedResourceDetails
і ClientCredentialsAccessTokenProvider
всі вони були позначені як застарілі.
З цього питання про javadoc вказує на весняний посібник з міграції безпеки, який наголошує на тому, що люди повинні перейти до основного проекту Spring-security 5. Однак у мене виникають проблеми з пошуком того, як я реалізував би свій випадок використання в цьому проекті.
Вся документація та приклади говорять про інтеграцію з третьою частиною постачальника OAuth, якщо ви хочете, щоб вхідні запити до вашої програми були аутентифіковані, і ви хочете використовувати сторонній постачальник OAuth для підтвердження особи.
У моєму випадку використання я лише хочу зробити запит із RestTemplate
зовнішньою службою, захищеною OAuth. В даний час я створюю OAuth2ProtectedResourceDetails
свій ідентифікатор клієнта і секрет, який я передаю в OAuth2RestTemplate
. У мене також є спеціальний ClientCredentialsAccessTokenProvider
додаток до того, OAuth2ResTemplate
що просто додає кілька додаткових заголовків до запиту токена, необхідних постачальнику OAuth, який я використовую.
У документації до джерела безпеки 5 я знайшов розділ, в якому йдеться про налаштування запиту токена , але знову це виглядає в контексті аутентифікації вхідного запиту з стороннім постачальником OAuth. Незрозуміло, як би ви використовували це в поєднанні з чимось на кшталт a, ClientHttpRequestInterceptor
щоб забезпечити, щоб кожен вихідний запит на зовнішню службу спочатку отримував маркер, а потім отримує доданий до запиту.
Також у посібнику з міграції, зв'язаному вище, є посилання на те, OAuth2AuthorizedClientService
яке, на його думку, є корисним для використання в перехоплювачах, але, знову ж таки, це виглядає так, що він покладається на такі речі, як, ClientRegistrationRepository
здається, там, де він підтримує реєстрацію для сторонніх постачальників, якщо ви хочете використовувати які забезпечують аутентифікацію вхідного запиту.
Чи я можу використати нову функціональність у Spring-security 5 для реєстрації провайдерів OAuth, щоб отримати маркер для додавання до вихідних запитів моєї програми?
WebClient
) або щось подібне використовується для отримання маркера OAuth з нестандартний постачальник OAuth (не один із підтримуваних OoTB, як Facebook / Google), щоб додати його до вихідного запиту. Всі приклади, схоже, зосереджені на автентифікації вхідних запитів з іншими постачальниками. Чи є у вас покажчики на якісь хороші приклади?