通过用户名的自定义Azure B2C密码重置流程

Custom Azure B2C Password Reset Flow via Username

我使用Azure B2C和使用用户的电子邮件地址和验证码的本地Azure帐户设置了密码重置流程。但是,我的客户希望有一个基于用户名而不是电子邮件地址发送给用户的密码重设电子邮件。将在幕后查找用户电子邮件,并发送一封电子邮件,其中包含指向密码重置页面的链接,如以下流程所示。

在阅读了有关自定义Azure B2C策略的大量文章之后,我正在努力说服自己,是否可以执行客户要求使用Azure B2C的事情。

在下面显示的示例密码重置流程中,我正在努力解决的一些问题包括:

  • 是否可以在密码重置流程中创建自定义页面,例如步骤4中显示用户被屏蔽的电子邮件地址的页面或步骤7中的信息页面?
  • 是否有内置功能可以根据用户的用户名查找用户的电子邮件地址和Active Directory对象ID,还是我必须调出自定义Azure函数并使用Graph API来执行此操作?
  • 是否可以创建并发送包含指向密码重置页面的超链接的自定义电子邮件,该超链接包含用户的Active Directory对象ID作为查询字符串参数,以便密码重置页面知道正在重置哪个用户的密码?

此刻,似乎创建一个完全自定义的ASP.NET MVC应用程序来处理要求比使用Azure B2C自定义策略要容易得多,但这并不是我想要的路径下去。

enter


该GitHub项目涵盖了您描述的情况。仍然需要对自定义流程有很多了解才能使其正常工作。
https://github.com/yoelhor/aadb2c-verification-link


  • 是否可以在密码重置流程中创建自定义页面?

Yes you can create your own custom password reset user flow using azure active
directory B2C

In your case if you want to figure out your custom page you could
refer here

  • 是否有内置功能来查找用户的电子邮件地址和
    基于用户名的Active Directory对象ID还是我有
    调用自定义Azure函数并使用Graph API执行
    这?

Using Microsoft Graph REST API you could fetch your user
information.
In your case you could use

  • List users
  • Get a user

    To access user information you could also refer here in a great
    details

  • 是否可以创建和发送包含以下内容的自定义电子邮件:
    超级链接到密码重置页面,该页面包含用户的"活动"
    目录对象ID作为查询字符串参数,因此需要重置密码
    页面知道哪个用户的密码正在重置?

You can use the company branding feature to customize the
content of verification emails for resetting password.

Note : For better clarity you could check the Azure AD B2C: Frequently asked
questions (FAQ) before final work around Which definitely guide you to
define ultimate go ahead.

更新

enter