Azure AD B2C-使用电子邮件或移动设备登录/登录

时间:2019-01-31 04:18:58

标签: azure azure-ad-b2c

我正在使用Azure AD B2C,我们收到了产品团队的偏好/要求,以允许用户使用电子邮件地址或手机号码作为用户ID进行注册/登录。

当前,内置流仅允许将电子邮件或用户名作为用户ID。 strong evidence建议我们可以创建一个允许使用手机号码的自定义策略,但是我需要的是能够使用电子邮件地址或手机号码进行登录/登录的功能。

似乎我并不是唯一要求此功能的人。 https://feedback.azure.com/forums/169401-azure-active-directory/suggestions/15334314-phone-number-sign-up?page=2&per_page=20

只是想知道是否有一种方法可以使用自定义策略来实现?任何演示如何执行此操作的演示/链接...

[编辑] 用户旅程

网络应用注册:

  1. 用户输入电子邮件或手机
  2. MFA到电子邮件或移动设备(以输入为准)
  3. 验证发送给用户的代码
  4. 设置密码。
  5. IDP完成
  6. 在应用程序中,可能捕获电子邮件或移动设备(以IDP中未捕获的为准),并通过MS Graph API更新B2C。

本地移动应用注册:

  1. 用户输入手机
  2. MFA到手机
  3. 验证码
  4. 设置密码。
  5. IDP完成
  6. 返回应用程序,可能捕获电子邮件并通过MS Graph API更新B2C

网络应用登录:

  • 使用(手机或电子邮件)和密码登录。

本地移动应用注册:

  • 使用手机和密码登录。
  • 大多数情况下,使用刷新令牌代替显式登录。

1 个答案:

答案 0 :(得分:1)

您可以通过两个自定义策略来实现此目标:

  1. 一种注册或登录策略,该策略允许使用电话号码登录本地帐户,并使用电子邮件地址登录本地帐户。
  2. 一种链接策略,允许将电子邮件地址链接到已经使用电话号码注册的本地帐户。

我已将以下自定义策略示例发布到this GitHub repository

  • phone_sign_up_any_sign_in注册使用电话号码的本地帐户。提示最终用户验证电话号码。可以使用email_linking策略将电子邮件地址链接到本地​​帐户。使用电子邮件地址 登录本地帐户。如果尚未验证电子邮件地址,则会提示最终用户验证电子邮件地址。如果尚未验证电话号码,则将提示最终用户验证电话号码。
  • email_linking链接到已使用电话号码注册的本地帐户。提示最终用户验证电子邮件地址。