0

現在、MSAL.js を使用して Azure B2C に登録した Apple ID プロバイダーで認証する React アプリを使用しています。ガイドに基づいて実装しました: Azure AD B2C の「Apple でサインイン」のポスト GA 再訪

サインイン後にサイレントに取得しようとするアクセス トークン リクエストを除いて、すべてが機能しています。ユーザーに再度ログインするように求めます (優れたユーザー エクスペリエンスではありません)。

ブラウザ コンソールからのエラー:

「https://appleid.apple.com/auth/authorize?client_id=com.my.clientid&redirect_uri=https://myb2ctenant.b2clogin.com%2foauth2%2fauthresp&response_type=code&scope=email&response_mode=form_post&nonce=nonce&state=StateProperties%」の表示を拒否'X-Frame-Options' が 'deny' に設定されているため、フレーム内の 3drandomCharshere'。

残念ながら、エンドポイントを使用した暗黙的なフローに関する Apple のドキュメントは限られています。

私の2つの質問は次のとおりです。

  1. Sign in with Apple では、トークンをサイレントに取得するための非表示の iFrame 手法が不可能ではないかと考えています。これを実装して成功した人はいますか?

  2. Google などの他の ID プロバイダーでこの正確な X-Frame 拒否の問題に直面した場合、対話をスキップできるようにする login_hint を acquireTokenSilent リクエストに渡すことができます (たとえば、ユーザーが複数のアカウントを持っていて、 iFrame)。ただし、さまざまなクレームを login_hint として Apple プロバイダーに渡すことに成功していません (そして、それに関するドキュメントは存在しないようです)。

4

2 に答える 2

0

これは msal.js の既知の問題であり、ブラウザー拡張機能の Cookie ブロッカーまたはブラウザーで無効になっているサード パーティの Cookie が原因で発生します。

これを修正するために、MSAL.js v2 は、暗黙的なフローではなく認証コード フローを使用することで、ほとんどのシナリオでこれを軽減します。このドキュメントを参照してください

于 2020-08-26T18:12:18.477 に答える