W spring-security-oauth2:2.4.0.RELEASE
klasach, takich jak OAuth2RestTemplate
, OAuth2ProtectedResourceDetails
i ClientCredentialsAccessTokenProvider
wszystkie zostały oznaczone jako przestarzałe.
Z javadoc na tych klasach wskazuje przewodnik po wiosennej migracji bezpieczeństwa, który sugeruje, że ludzie powinni migrować do podstawowego projektu wiosennego bezpieczeństwa 5. Mam jednak problem ze znalezieniem sposobu, w jaki mógłbym zaimplementować mój przypadek użycia w tym projekcie.
Cała dokumentacja i przykłady mówią o integracji z zewnętrznym dostawcą OAuth, jeśli chcesz, aby przychodzące żądania do Twojej aplikacji były uwierzytelniane i chcesz użyć zewnętrznego dostawcy OAuth do weryfikacji tożsamości.
W moim przypadku użytkowania chcę jedynie wysłać zapytanie RestTemplate
do usługi zewnętrznej chronionej przez OAuth. Obecnie tworzę OAuth2ProtectedResourceDetails
identyfikator klienta i klucz tajny, które przekazuję OAuth2RestTemplate
. Mam również niestandardowy ClientCredentialsAccessTokenProvider
dodany do, OAuth2ResTemplate
który po prostu dodaje dodatkowe nagłówki do żądania tokenu, które są wymagane przez dostawcę OAuth, którego używam.
W dokumentacji Spring-security 5 znalazłem sekcję, która wspomina o dostosowywaniu żądania tokenu , ale znowu wygląda na to, że jest w kontekście uwierzytelniania przychodzącego żądania z zewnętrznym dostawcą OAuth. Nie jest jasne, w jaki sposób można tego użyć w połączeniu z czymś w rodzaju a, ClientHttpRequestInterceptor
aby upewnić się, że każde wychodzące żądanie do usługi zewnętrznej najpierw pobiera token, a następnie dodaje je do żądania.
Również w powyższym przewodniku migracji znajduje się odniesienie do, OAuth2AuthorizedClientService
które według niego jest przydatne do użycia w przechwytywaczach, ale znowu wygląda na to, że opiera się na takich rzeczach, jak się ClientRegistrationRepository
wydaje, gdy zachowuje rejestracje dla dostawców zewnętrznych, jeśli chcesz użyć które zapewniają, że przychodzące żądanie jest uwierzytelniane.
Czy jest jakiś sposób, aby wykorzystać nową funkcjonalność Spring-security 5 do rejestracji dostawców OAuth w celu uzyskania tokena do dodania do wychodzących żądań z mojej aplikacji?
WebClient
) lub coś podobnego jest używane do pobrania tokena OAuth z niestandardowy dostawca OAuth (nie jeden z obsługiwanych OoTB, takich jak Facebook / Google) w celu dodania go do żądania wychodzącego. Wszystkie przykłady wydają się koncentrować na uwierzytelnianiu przychodzących wniosków z innymi dostawcami. Czy masz jakieś wskazówki dla dobrych przykładów?