spring-security-oauth2:2.4.0.RELEASE
ようなクラスOAuth2RestTemplate
、OAuth2ProtectedResourceDetails
およびClientCredentialsAccessTokenProvider
非推奨のように、すべてのマークされています。
これらのクラスのjavadocから、人々が中心的なSpring-Security 5プロジェクトに移行する必要があることをほのめかすSpring Security移行ガイドが示されています。ただし、このプロジェクトでユースケースを実装する方法を見つけるのに苦労しています。
すべてのドキュメントと例では、アプリケーションへの受信リクエストを認証し、サードパーティのOAuthプロバイダーを使用してIDを確認する場合の、サードパーティのOAuthプロバイダーとの統合について説明しています。
私のユースケースRestTemplate
では、OAuthで保護されている外部サービスにをリクエストするだけです。現在、私はOAuth2ProtectedResourceDetails
に渡すクライアントIDとシークレットを使用してを作成していますOAuth2RestTemplate
。また、使用しているOAuthプロバイダーが必要とする追加のヘッダーをトークンリクエストにClientCredentialsAccessTokenProvider
追加するカスタムをに追加しましたOAuth2ResTemplate
。
Spring-Security 5のドキュメントで、トークンリクエストのカスタマイズに言及しているセクションを見つけましたが、これも、サードパーティのOAuthプロバイダーによる着信リクエストの認証に関連しているようです。これをのようなものとどのように組み合わせて使用ClientHttpRequestInterceptor
して、外部サービスへの各送信リクエストが最初にトークンを取得し、次にそれをリクエストに追加することを保証するかは明確ではありません。
また、上記の移行ガイドにはOAuth2AuthorizedClientService
、インターセプターでの使用に役立つと記載されているへの参照がありますが、これは、を使用しClientRegistrationRepository
たい場合、サードパーティプロバイダーの登録を維持しているように見えるに依存しているようです着信リクエストが認証されることを保証するために提供します。
アプリケーションからの発信要求に追加するトークンを取得するためにOAuthプロバイダーを登録するために、spring-security 5の新機能を利用できる方法はありますか?
WebClient
)または同様のものがOAuthトークンをフェッチするために使用される例を見つけるのに苦労しています送信リクエストに追加するためのカスタムOAuthプロバイダー(Facebook / GoogleのようなOoTBをサポートするプロバイダーではありません)。すべての例は、他のプロバイダーによる着信要求の認証に焦点を当てているようです。良い例の指針はありますか?