2017-07-27 1 views
2

Azure AD B2Cテナントを作成し、ログインメソッドとしてユーザー名を使用してローカルアカウントを構成しました。サインアップポリシーを作成し、Azure AD B2Cサインアップ画面からサインアップしました。サインアップ画面で、私は電子メールアドレスを入力し、Azure AD B2Cは検証のための電子メールを送信しました。サインアップが成功すると、グラフAPIを通じてサインアップしたユーザーの詳細を取得しようとしていました。GraphAPIを使用してAzure AD B2Cからユーザーメールを取得できません

ユーザの詳細情報を取得するために使用されるグラフAPIのURL:

https://graph.windows.net/<tenantid>/users?api-version=1.6 

私はによって入力されたメールアドレス以外...など、ユーザー名、姓、名、のような新しいユーザーの他のすべての情報を取得することができました電子メールの検証中にユーザー。

Graph APIを使用して電子メールアドレスを取得する方法や設定があるかどうか教えてください。

+0

経由尋ねる要求することができますか?そこに何か値があったのですか? –

+0

空の配列として出力されています。 Azureポータルで見ると、電子メールIDはAuthorization Emailフィールドに表示されます。 – Santhanam

答えて

4

ユーザがユーザ名+電子メールの妥当性チェックでサインインする場合、のメールを取得する方法はありません。

Azure AD B2Cの電子メールに関連するすべてのケースと、それらが保存されている場所は次のとおりです。で、電子メールベースのサインと

  • ローカルアカウント:メール+電子メールの検証にユーザー名ベースのサインとsignInNamesプロパティ
  • ローカルアカウントを経由して提供されています:メールはどこにも使用できません。
  • built-in policiesからのソーシャルIdP:IdPから入手可能な場合、otherMailsプロパティで電子メールが利用可能です。

その他の考慮事項:

  • MFA &パスワードリセットのために使用される電子メールのいずれかどこにも使用できません(これは本当に+電子メールの検証では、ユーザ名ベースのサインを持つローカルアカウントと同じケースです)。
  • sign up policy's "Sign-up attributes"にメールの入力を求めるメッセージが表示されます。
  • custom policiesとカスタムIdPを使用すると、電子メールを取得するかどうか、どこから取得するのか、どこに保存するのかは、あなた次第です。

あなたはいつもあなたが `otherMails`プロパティを確認しましたメールがあなたのシナリオのために利用できるように、または任意の他のAzure AD B2C feedback forum

+0

簡潔で(ばかげた)要約。あなたがlocalaccount username loginを使っているときに、関連するメールを(少なくとも「メール」または「otherMails」のプロパティを使ってGraphを使って)上書きすることはできないように思えます。最後の手段としてsignInNamesに追加します)。これは、ユーザーがサインアップした元のメールアドレスにまだアクセスできない限り、ユーザーは決して組み込みのパスワードリセットポリシーを使用できないことを意味します。 – mwardm

関連する問題