問題タブ [aad-b2c]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
276 参照

azure-ad-b2c - Azure AD B2C - 「セルフサービス パスワード リセット」を実行した後、カスタム ポリシー「セッション」が正しくない状態のままになる

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 にリダイレクトされて再ログインされます。

エラーメッセージ:

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

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

0 投票する
0 に答える
49 参照

azure-ad-b2c - セルフサービスのパスワード リセット (埋め込みパスワード リセットのサンプル) では、ユーザーが電子メール フィールドに既に入力した内容が電子メール フィールドに事前入力されません。

セルフサービスのパスワード リセット (埋め込みパスワード リセットのサンプル) を使用する場合、ユーザーが電子メール フィールドに既に値を入力しており、ユーザーが [パスワードを忘れた場合] リンクをクリックすると、パスワードのリセット フローで電子メールを入力するように求められます。また。

ユーザーが既に電子メール フィールドに入力した内容を事前入力する方法はありますか?