W spring-security-oauth2:2.4.0.RELEASEklasach, takich jak OAuth2RestTemplate, OAuth2ProtectedResourceDetailsi ClientCredentialsAccessTokenProviderwszystkie 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 RestTemplatedo usługi zewnętrznej chronionej przez OAuth. Obecnie tworzę OAuth2ProtectedResourceDetailsidentyfikator klienta i klucz tajny, które przekazuję OAuth2RestTemplate. Mam również niestandardowy ClientCredentialsAccessTokenProviderdodany do, OAuth2ResTemplatektó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, ClientHttpRequestInterceptoraby 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, OAuth2AuthorizedClientServicektó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ę ClientRegistrationRepositorywydaje, 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?