OAuth2プロバイダのトークンリクエストを強化したいと考えています。 POSTリクエストに追加のパラメータを追加する必要があります。私はこれを達成するためにSpring Bootフレームワークをどこに突きつけるべきか理解していません。Spring Boot AccessTokenProviderをカスタマイズするにはどうすればよいですか?
Springブートフレームワークは、「Customizing the User Info RestTemplate」で説明されているように、OAuth2RestTemplateをカスタマイズするためのフックを提供します。私はインスタンス化され、期待どおりに呼び出される次のカスタマイザを実装しました。残念ながら、私のプロバイダは、トークン要求が行われたときに呼び出されないようです。
public class AadUserInfoRestTemplateCustomizer implements UserInfoRestTemplateCustomizer {
@Override
public void customize(OAuth2RestTemplate oAuth2RestTemplate) {
oAuth2RestTemplate.setAuthenticator(new AadOauth2RequestAuthenticator());
// Attempt 1: Use my own token provider, but it never gets called...
oAuth2RestTemplate.setAccessTokenProvider(new AadAccessTokenProvider());
// Even better, if only OAuth2RestTemplate provided a getter for AccessTokenProvider, I could add interceptors and or enhancers
// Can't do this :(AuthorizationCodeAccessTokenProvider provider = oAuth2RestTemplate.getAccessTokenProvider();
}
}
QUESTION:カスタムAccessTokeProvderを設定し、またはより良い、デフォルト1への参照を取得し、迎撃やエンハンサーとのリクエストにフックどのよう
?
以下フォークのコードサンプル
、/簡単なモジュールを参照してください。
https://github.com/bmillerbma/tut-spring-boot-oauth2/tree/aad
NOTES:/simple/src/main/resources/application.ymlファイルにあなたのAADのテナント情報を追加
This commitフレームワークには、これを可能にするようですこの機能をどのように活用するのでしょうか?
This questionが関連しているようです。どういうわけか、フェラはカスタムプロバイダを追加しました。しかしここで?
最小限のサンプルプロジェクトはありますか?上記のコードスニペットの 'AadAccessTokenProvider'がなぜ使われないのかは分かりません。 –
「コードサンプル」を参照してください。 – Brett