現在、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つの質問は次のとおりです。
Sign in with Apple では、トークンをサイレントに取得するための非表示の iFrame 手法が不可能ではないかと考えています。これを実装して成功した人はいますか?
Google などの他の ID プロバイダーでこの正確な X-Frame 拒否の問題に直面した場合、対話をスキップできるようにする login_hint を acquireTokenSilent リクエストに渡すことができます (たとえば、ユーザーが複数のアカウントを持っていて、 iFrame)。ただし、さまざまなクレームを login_hint として Apple プロバイダーに渡すことに成功していません (そして、それに関するドキュメントは存在しないようです)。