无法使用GraphAPI从Azure AD B2C检索用户电子邮件

时间:2017-07-27 07:37:39

标签: azure azure-ad-b2c azure-ad-graph-api

我创建了一个Azure AD B2C租户,并使用username作为登录方法配置了本地帐户。我创建了一个注册策略,并通过Azure AD B2C注册屏幕进行了注册。在注册屏幕中,我输入了一个电子邮件地址,Azure AD B2C发送了一封电子邮件进行验证。注册成功后,我试图通过Graph API获取已注册用户的详细信息。

用于检索用户详细信息的图谱API网址:

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

我能够获得新用户的所有其他信息,例如用户名,名字,姓氏等......除了用户在电子邮件验证期间输入的电子邮件地址。

如果有任何方式或配置可通过图谱API获取电子邮件地址,请告知我们。

1 个答案:

答案 0 :(得分:5)

如果用户使用用户名+电子邮件验证登录,则无法检索使用的电子邮件

以下是与Azure AD B2C中的电子邮件相关的所有案例以及存储它们的位置。

  • 使用基于电子邮件登录的本地帐户:可通过signInNames媒体资源
  • 获取电子邮件
  • 使用基于用户名的登录+电子邮件验证的本地帐户:无法在任何地方使用电子邮件。
  • 通过built-in policies提供的社交IDP:如果可以从IdP获得,则可通过otherMails媒体获取电子邮件。

其他考虑因素:

  • 用于MFA&amp;密码重置在任何地方都不可用(这与使用基于用户名的登录+电子邮件验证的本地帐户的情况非常相似)。
  • 您可以在sign up policy's "Sign-up attributes"中提示用户发送电子邮件。
  • 使用custom policies和自定义IDP,您是否想要检索电子邮件,从哪里检索电子邮件以及从哪里存储电子邮件都取决于您。

您始终可以通过Azure AD B2C feedback forum

请求通过您的方案或任何其他方式提供的电子邮件