在为自助服务密码重置 Azure AD B2C 发送密码之前验证电子邮件
Validate email before passcode sent for self-service password reset Azure AD B2C
我们通过自定义策略配置了自助式密码重置。这工作正常,用户可以使用发送的一次性密码重置密码。我们遇到的问题是:
- 无论在 B2C 中是否有使用该电子邮件的帐户,电子邮件始终会发送到提供的电子邮件地址。如果电子邮件地址与帐户相关联,我们只想发送令牌。
- 如果用户输入的电子邮件地址未与帐户关联,我们希望向用户提供通知,否则他们需要等到获得代码,然后输入代码,然后才被告知该帐户是无效。
- 我们还在使用链接到该帐户的社交登录,如果该帐户仅关联了一个社交登录,我们希望提示他们去社交 IDP 更改密码。
我在显示控件或登录 api 中看不到任何内容来启用这些功能。
是否有可能达到以上目标?
在用户旅程的顶部添加一个自我断言的页面。
此页面要求用户输入例如电子邮件地址。
然后使用“AAD-UserReadUsingEmailAddress”。
这有:
<Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">true</Item>
<Item Key="UserMessageIfClaimsPrincipalDoesNotExist">An account could not be found for the provided user ID.</Item>
因此如果电子邮件不存在,将抛出错误。
将错误消息更改为引用社交帐户。
我们通过自定义策略配置了自助式密码重置。这工作正常,用户可以使用发送的一次性密码重置密码。我们遇到的问题是:
- 无论在 B2C 中是否有使用该电子邮件的帐户,电子邮件始终会发送到提供的电子邮件地址。如果电子邮件地址与帐户相关联,我们只想发送令牌。
- 如果用户输入的电子邮件地址未与帐户关联,我们希望向用户提供通知,否则他们需要等到获得代码,然后输入代码,然后才被告知该帐户是无效。
- 我们还在使用链接到该帐户的社交登录,如果该帐户仅关联了一个社交登录,我们希望提示他们去社交 IDP 更改密码。
我在显示控件或登录 api 中看不到任何内容来启用这些功能。 是否有可能达到以上目标?
在用户旅程的顶部添加一个自我断言的页面。
此页面要求用户输入例如电子邮件地址。
然后使用“AAD-UserReadUsingEmailAddress”。
这有:
<Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">true</Item>
<Item Key="UserMessageIfClaimsPrincipalDoesNotExist">An account could not be found for the provided user ID.</Item>
因此如果电子邮件不存在,将抛出错误。
将错误消息更改为引用社交帐户。