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

San*_*nam 3 azure azure-ad-graph-api azure-ad-b2c

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

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

https://graph.windows.net/<tenantid>/users?api-version=1.6
Run Code Online (Sandbox Code Playgroud)

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

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

Sac*_*aca 5

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

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

  • 通过电子邮件登录的本地帐户:可通过signInNames酒店发送电子邮件
  • 基于用户名的登录+电子邮件验证的本地帐户:无法在任何地方使用电子邮件.
  • 通过内置政策提供的社交IdP:如果可以从IdP获得,则可通过otherMails酒店获得电子邮件.

其他考虑:

  • 用于MFA和密码重置的电子邮件也无法在任何地方使用(这与使用基于用户名的登录+电子邮件验证的本地帐户完全相同).
  • 您可以在注册政策的"注册属性"中提示用户提供电子邮件.
  • 使用自定义策略和自定义IdP,无论您是要检索电子邮件,从哪里检索电子邮件以及从哪里存储电子邮件,都取决于您.

您始终可以通过Azure AD B2C反馈论坛请求通过您的方案或任何其他方式提供的电子邮件