カスタム Web アプリケーションを Azure B2C OAuth および Spring OAuth2.0 フレームワークと連携させようとしています。
認証レグは正常に戻り、JWT トークンを受け取ります。その後、トークンのリクエストが発生すると、次のエラーが発生します。
java.lang.IllegalStateException: Access token provider returned a null access token, which is illegal according to the contract.
at org.springframework.security.oauth2.client.OAuth2RestTemplate.acquireAccessToken(OAuth2RestTemplate.java:223) ~[spring-security-oauth2-2.0.8.RELEASE.jar:na]
at org.springframework.security.oauth2.client.OAuth2RestTemplate.getAccessToken(OAuth2RestTemplate.java:173) ~[spring-security-oauth2-2.0.8.RELEASE.jar:na]
...
スプリングコードのデバッグから、クラスaccess_token
で見られるようにトークンが呼び出されることが期待されていることがわかります。OAuth2AccessToken
B2C チュートリアルを見ると、トークンは と呼ばれtoken_id
ます。さらに、Spring アプリケーション用の applications.yml 構成には、tokenName というフィールドがあります。上記のようにハードコードされた静的変数の代わりに、トークン名フィールドを取得するためにこれを使用する必要があります。
私は何か不足していますか、私の問題に対する解決策はありますか? spring OAuth フレームワークで使用されるトークン名フィールドをオーバーライドできますか?