에서 spring-security-oauth2:2.4.0.RELEASE
같은 클래스 OAuth2RestTemplate
, OAuth2ProtectedResourceDetails
및 ClientCredentialsAccessTokenProvider
사용되지 않는 모든 표시되었습니다.
이 클래스의 javadoc에서 사람들이 핵심 스프링 보안 5 프로젝트로 마이그레이션해야 함을 알려주 는 스프링 보안 마이그레이션 안내서 를 가리 킵니다 . 그러나이 프로젝트에서 사용 사례를 구현하는 방법을 찾는 데 문제가 있습니다.
응용 프로그램에 대한 들어오는 요청을 인증하고 타사 OAuth 공급자를 사용하여 ID를 확인하려는 경우 모든 설명서 및 예제는 타사 OAuth 공급자와의 통합에 대해 설명합니다.
유스 케이스 RestTemplate
에서 OAuth로 보호되는 외부 서비스를 요청 하기 만하면됩니다. 현재 나는 OAuth2ProtectedResourceDetails
고객 ID와 비밀을 사용하여로 전달합니다 OAuth2RestTemplate
. 나는 또한 사용자는 한 ClientCredentialsAccessTokenProvider
에 추가 된 OAuth2ResTemplate
단지 내가 사용하고있어 OAuth를 제공에 필요한 토큰 요청에 몇 가지 추가 헤더를 추가하는.
spring-security 5 문서 에서 토큰 요청 사용자 정의 를 언급하는 섹션을 찾았 지만 다시 타사 OAuth 제공자와 수신 요청을 인증하는 맥락에서 보입니다. ClientHttpRequestInterceptor
외부 서비스에 대한 각 발신 요청이 먼저 토큰을 얻은 다음 요청에 추가되도록하기 위해 이것을 어떻게 a와 결합하여 사용하는지는 확실하지 않습니다 .
또한 위에 링크 된 마이그레이션 안내서에는 OAuth2AuthorizedClientService
인터셉터에서 사용하는 데 유용한 것으로 언급되어 있지만 다시 ClientRegistrationRepository
사용하려면 타사 공급자의 등록을 유지하는 위치 에 의존 하는 것처럼 보입니다. 수신 요청이 인증되도록합니다.
애플리케이션의 발신 요청에 토큰을 추가하기 위해 OAuth 제공자를 등록하기 위해 spring-security 5의 새로운 기능을 사용할 수있는 방법이 있습니까?
WebClient
) 또는 이와 비슷한 것이 OAuth 토큰을 가져 오는 데 사용되는 예를 찾기 위해 여전히 고심하고 있습니다. 발신 요청에 추가하기 위해 사용자 지정 OAuth 공급자 (Facebook / Google과 같은 OoTB를 지원하는 공급자 중 하나가 아님) 모든 예제는 다른 공급자와 들어오는 요청을 인증하는 데 중점을 둔 것 같습니다. 좋은 예에 대한 조언이 있습니까?