对注册过程进行细分,以允许以后进行电子邮件验证

时间:2019-01-22 12:27:28

标签: azure-ad-b2c

我们正在将Azure B2C用于我们的身份提供程序,但是很明显,用户发现该过程有些笨拙。大多数情况下,这似乎是由于注册过程的同步性所致。

我们确实要验证电子邮件地址和MFA电话号码,但最好不要在输入时进行验证。有没有一种方法可以利用图形API调用来解决此问题,或者使用自定义策略来实现相同目的?

enter image description here

我们还希望清楚区分注册/登录过程。这样一来,用户可以直接定向到这些页面,也可以对它们进行品牌化。

1 个答案:

答案 0 :(得分:2)

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

  1. 一种注册策略,提示新客户输入电子邮件地址和电话号码,并创建一个新用户,并将其标记为未验证。可以在帐户创建步骤中调用此自定义策略。
  2. 一种验证策略,它通过内置电子邮件消息验证未验证的电子邮件地址,然后通过内置电话或短信验证未验证的电话号码。可以在应用程序完成步骤中调用此自定义策略。

请注意,发送验证码的不是注册策略,而是发送验证码的验证策略。我不知道对于期望的体验是否可以接受,但是发送验证码的自定义策略必须与验证它的策略相同。

(还有另一种流程,在该流程中,注册策略完成之后,您的最终应用程序会发送一条包含验证链接的自定义电子邮件,当最终用户打开该电子邮件时,最终应用程序会对其进行验证,然后进行验证政策-减去电子邮件验证步骤,因为已验证电子邮件地址-已启动。)

如果您对这种提议的解决方案感兴趣,那么我可以尝试基于the custom policy starter packs中的一种来提供自定义策略的完整详细信息。

已于2019年2月15日更新

我已将以下自定义策略示例发布到this GitHub repository。第二和第三项政策实现了上述流程。

sign_up_sign_in

使用电子邮件地址注册本地帐户。提示最终用户验证电子邮件地址和电话号码。

使用电子邮件地址登录本地帐户。如果尚未验证电子邮件地址,则会提示最终用户验证电子邮件地址。如果尚未验证电话号码,则会提示最终用户验证电话号码。

sign_up_without_verification

使用电子邮件地址注册本地帐户。不会提示最终用户 验证电子邮件地址或电话号码。

使用验证登录

使用电子邮件地址登录本地帐户。如果尚未验证电子邮件地址,则会提示最终用户验证电子邮件地址。如果尚未验证电话号码,则会提示最终用户验证电话号码。