Azure AD B2C-只能通过自定义策略在首次登录时重置密码吗?

时间:2020-06-20 14:47:55

标签: azure azure-active-directory azure-ad-b2c

我的目标是通过图形API使用我选择的密码创建一个Azure AD B2C用户,然后让该用户在首次登录后经历密码重置的经历。

首先,如何使用户进入一种状态,该状态将在下次登录时触发密码重置?如果我在Azure中进入reset password,然后在登录时使用生成的密码,则会收到“此密码已过期”错误。假设这是密码政策问题,我一直在使用Graph API,例如:

user.PasswordPolicies = "DisablePasswordExpiration,DisableStrongPassword";
user.PasswordProfile = new PasswordProfile
{
 ForceChangePasswordNextSignIn = true,
};

我的Graph API访问成功,但仍然无法解决该错误:

“此密码已过期”

第二个问题是,我如何准确地设置实现此目标的用户流程?我希望使用屏幕密码重置体验,而不是基于电子邮件的体验。

最有希望的方向似乎是从“用户流”切换到“自定义策略”,其中有一个如何实现我的目标的示例:https://github.com/azure-ad-b2c/samples/tree/master/policies/force-password-reset-first-logon

我的问题是-这只能通过“自定义政策”方法来实现吗?

1 个答案:

答案 0 :(得分:1)

根据您链接的示例,自定义策略是正确的解决方案。或使用User Flow v1流,它们非常有限,它们支持内置的<!DOCTYPE html> <html> <head> <title>Noticias Cidade - Home</title> <link rel="stylesheet" href="folha_css.css"> </head> <body class="Home"> <div id="cabecalho"> <img url="https://i.imgur.com/8EhUFuZ.png" id="logo"> <img url="https://i.imgur.com/3ZjPU9A.png" id="topo"> <ul id="teste"> <li> <a id="Home" href="index.html">Home</a> </li> <li> <a id="Brasil" href="Brasil.html">Brasil</a> </li> <li> <a id="Internacional" href="Internacional.html">Internacional</a> </li> <li> <a id="Economia" href="Economia.html">Economia</a> </li> <li> <a id="Saude" href="Saude.html">Saude</a> </li> <li> <a id="Ciencia" href="Ciencia.html">Ciencia</a> </li> </ul>> <div class="container"> <div class="coluna-1"> </div> <div class="coluna-2"> </div> <div class="coluna-3"> </div> </div> </div> </body> </html>标志。