4

カスタム Identity Experience Framework ポリシーを使用して Azure AD B2C で保護された Web アプリを使用して、ユーザーがソーシャル ID (Microsoft、Google、Facebook)、または別のフェデレーション Azure AD インスタンスからの ID、または「ローカル」で登録してサインインできるようにします。 ' メール/パスワード アカウント。

すべてのソーシャル アカウントと Federated AD が正しく機能します。メール/パスワードでのサインアップとサインインは正常に機能していましたが、現在エラーが発生しています。これが機能することが最後に確認されて以来、メール/パスワードの構成に意図的に変更を加えていないため、これがどのように発生したかはわかりません.

問題は、新しい電子メール アドレスでのサインアップが正しく機能し、プロセスが完了すると、ユーザーが正しくログインし、そのアカウントがディレクトリに表示されることです。ただし、ユーザーがサインアウトすると、再度サインインしようとしても失敗します。ここに画像の説明を入力

(表示されているメールアドレスは実際のものではありません。複数のユーザーが新旧のメールアドレス/パスワードの組み合わせでエラーを繰り返しています。)

ポータルを掘り下げると、根本的なエラーが次のように明らかになります。

70001 X という名前のアプリケーションが Y という名前のテナントで見つかりませんでした。これは、アプリケーションがテナントの管理者によってインストールされていないか、テナント内のユーザーによって同意されていない場合に発生する可能性があります。認証要求を間違ったテナントに送信した可能性があります。

このエラーは、ポータルでアプリケーションにアクセス許可を付与できなかったことに関連しているように見えることがあります。すべての権限を削除して元に戻し、権限を再付与しようとしました。これで問題は解決しませんでした。

この問題の原因、特にサインアップ/サインインが正しく機能するのに、サインインが返されない理由を知っている人はいますか?

アップデート:

AD ディレクトリに IEF アプリとプロキシ IEF アプリが構成されていることを確認するためだけに、次のようにします。 ここに画像の説明を入力

またlogin-NonInteractive、TrustFrameworkExtensions.xml で構成された技術プロファイル があります。ここに画像の説明を入力

Application Insights を接続すると ( https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-troubleshoot-customの手順に従って)、これに到達できます。より詳細なエラー:

AADSTS70001: 識別子 'ProxyIdentityExperienceFrameworkAppID' を持つアプリケーションがディレクトリ weapageengine.onmicrosoft.com で見つかりませんでした

'ProxyIdentityExperienceFrameworkAppID' がカスタム ポリシーのいずれかに表示される唯一の場所は、上記の XML に示されていますが、こちらのドキュメントによるとこれは正しいようです: https://github.com/Azure-Samples/active-directory-b2c-custom -policy-starterpack/blob/3b4898fec3bf0014b320beffa6eb52ad68eb6111/SocialAndLocalAccounts/TrustFrameworkExtensions.xml#L38 - これらの「DefaultValue」属性も更新するつもりがない場合は?

解決策: 以下の回答に従って、メタデータとデフォルト値の両方を関連するアプリ ID で更新する必要があります。GitHub のサンプルhttps://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/blob/3b4898fec3bf0014b320beffa6eb52ad68eb6111/SocialAndLocalAccounts/TrustFrameworkExtensions.xml#L38では、ボイラープレートの値の大文字と小文字が異なることに注意してください。すべて置換で不足しているものに:

ここに画像の説明を入力

4

1 に答える 1