我维护一个使用Azure AD B2C进行身份验证的应用程序。
流程是这样的:
现在,令我困扰的是,即使我们已经知道,用户也必须输入他们的电子邮件地址。我们只是使用他们的电子邮件地址邀请了他们。
suggested是我们可以将人们带到密码重设页面。但这也不是很理想,因为即使我们刚刚验证了电子邮件地址,他们也必须验证其电子邮件地址。毕竟,他们通过接收电子邮件开始流程。
在许多情况下,用户在要求输入电子邮件地址时会输入错误。这会带来很多新问题,因为我们现在为同一用户提供两个不同的电子邮件地址。
答案 0 :(得分:1)
如果要使用自定义策略,则可以使用以下流程进行密码重置:
&client_assertion_type = urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer &client_assertion = JWT
这会将电子邮件地址放入JWT中,因此用户不必输入它。
答案 1 :(得分:1)
@ How to pass email suggestion to Azure AD B2C SignUp page已回答类似的问题。答案https://stackoverflow.com/a/56503578/341185描述了如何发送邀请。
在自定义策略中使用Javascript的替代方法
您可以将自定义策略与Javascript一起使用,以在电子邮件地址文本框中显示用户的电子邮件。
方法: 发送邀请链接时,发送一个额外的查询参数,例如 &email_hint=azureb2ccustomer@b2clogin.com ,然后按照以下步骤在电子邮件地址文本框中显示此email_hint值
步骤:
var urlParams = new URLSearchParams(window.location.search); document.getElementById("email").value = urlParams.get('email_hint');
点击here以获取示例请求
如果您仍然需要除上述之外的其他方法来适应您的业务模型,请添加您的评论。