3

SocialAndLocalAccountsスターター パックに基づくカスタム ポリシーがあります。

このサンプルHomeRealmDiscovery-ModernHome Realm Discoveryに基づいて、サードパーティ プロバイダーを使用するユーザーを正しいサインイン ページ (IdP) にリダイレクトするためのサポートを追加しています。

また、サードパーティの ID プロバイダー経由でサインインするユーザーのサインイン ページDomain Hintsを完全にスキップするためのサポートも追加しました。

このポリシーは、公式ドキュメントに従って、新しくリリースされたSelf-Served Password Resetを利用します。

問題は何ですか?

ユーザーが「Self-Served Password Reset」を実行すると、B2C セッションが破損した状態のままになります。ユーザーが B2C にリダイレクトされた場合、セッションは取得されません。

どうすればそれを言えますか?ユースケースは何ですか?

再現する手順:

1: ユーザーは、ユーザーを B2C サインイン ページにリダイレクトするアプリケーションに移動します。

2: ユーザーがローカル アカウントの電子メール (Gmail) を入力し、次の画面で、セルフサービス パスワード リセットを使用して実装されている [パスワードを忘れた] リンクをクリックします。

3: ユーザーはパスワード リセット フローを正しく実行し、最終的に「MFA」要素 (SMS コード) を入力します。

4: ユーザーは、ID トークンを使用して正しくアプリケーションにリダイレクトされ、ログインに成功します。

6: ユーザーは、同じカスタム ポリシーを使用して、新しい/別のアプリケーションへのリンクをクリックします。

7: 新しいアプリケーションはユーザーを B2C にリダイレクトします (同じカスタム ポリシー)

期待される結果:ユーザーは有効な B2C セッションを持っている必要があり、再度サインインするように求められることはありませんが、代わりに有効なid-token.

実際の結果:ユーザーは新しいアプリケーションに送り返され、コールバック URL にエラー メッセージが表示されます。エラーが原因で、B2C にリダイレクトされて再ログインされます。

エラーメッセージ:

AADB2C90051: No suitable claims providers were found. 
Correlation ID: c014004a-d2da-4000-83e5-6d648f9acccc 
Timestamp: 2021-06-16 07:17:16Z

重要:ユーザーが通常のサインイン フロー (パスワードのリセットなし) を実行すると、すべてが正常に機能します。ユーザーはさまざまなアプリケーションを切り替えることができ、B2C はエラーをスローしたり、新しいサインインを要求したりすることなく、セッションを正しくピックアップします。異なるアプリ間の SSO は意図したとおりに機能します。

以下は、TrustFrameworkExtentionすべてのロジックを含み、スターター パックのベース ファイルから拡張された完全なファイルです: TrustFrameworkExtention.xml

4

1 に答える 1