你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
自 2025 年 5 月 1 日起,Azure AD B2C 将不再可供新客户购买。 在我们的常见问题解答中了解详细信息。
在开始之前,请使用此页面顶部的 “选择策略类型 选择器”来选择要设置的策略类型。 Azure Active Directory B2C 提供了两种定义用户如何与应用程序交互的方法:通过预定义的用户流,或者通过可完全配置的自定义策略。 对于每种方法,本文中所需的步骤都不同。
概述
作为管理员,如果用户忘记了密码,则可以 重置用户的密码 。 或者,你希望强制他们重置密码。 本文介绍如何在这些方案中强制重置密码。
管理员通过 Azure 门户重置用户密码时, forceChangePasswordNextSignIn 属性的值将设置为 true
。
登录和注册旅程会检查此属性的值。 用户完成登录后,如果该属性设置为 true
,则用户必须重置其密码。 然后,该属性的值会被设置回 false
。
密码重置流适用于 Azure AD B2C 中使用 电子邮件地址 或 用户名 进行登录的本地帐户。
先决条件
- 创建用户流,以便用户能够注册并登录应用程序。
- 注册 Web 应用程序。
- 完成 Active Directory B2C 中的自定义策略入门中的步骤。 本教程指导你如何更新自定义策略文件以使用 Azure AD B2C 租户配置。
- 注册 Web 应用程序。
配置用户流
若要在注册或登录用户流中启用 强制密码重置 设置,请执行以下作:
- 登录到 Azure 门户。
- 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,从“目录 + 订阅”菜单切换到你的 Azure AD B2C 租户。
- 在 Azure 门户中,搜索并选择 Azure AD B2C。
- 选择“用户流”。
- 选择要自定义的“注册和登录”或“登录”用户流(“推荐”类型)。
- 在左侧菜单中的“设置”下,选择“属性”。
- 在 “密码配置”下,选择 “强制密码重置”。
- 选择“保存”。
测试用户流
- 以用户管理员或密码管理员身份登录到 Azure 门户 。 有关可用角色的详细信息,请参阅 Microsoft Entra ID 中的分配管理员角色。
- 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,从“目录 + 订阅”菜单切换到你的 Azure AD B2C 租户。
- 在 Azure 门户中,搜索并选择 Azure AD B2C。
- 选择用户。 搜索并选择用于测试密码重置的用户,然后选择“ 重置密码”。
- 在 Azure 门户中,搜索并选择 Azure AD B2C。
- 选择“用户流”。
- 选择要测试的注册或登录用户流(类型 为“推荐”)。
- 选择运行用户流。
- 对于“应用程序”,请选择前面已注册的名为 webapp1 的 Web 应用程序。 “回复 URL”应显示为
https://jwt.ms
。 - 选择运行用户流。
- 使用重置密码的用户帐户登录。
- 现在必须更改用户的密码。 更改密码,然后选择“ 继续”。 令牌将返回到
https://jwt.ms
并显示出来。
配置自定义策略
获取 GitHub 上的强制密码重置策略示例。 在每个文件中,将字符串 yourtenant
替换为 Azure AD B2C 租户的名称。 例如,如果 B2C 租户的名称为 contosob2c,则 的所有实例都将变为 yourtenant.onmicrosoft.com
contosob2c.onmicrosoft.com
。
上传并测试策略
- 登录到 Azure 门户。
- 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,从“目录 + 订阅”菜单切换到你的 Azure AD B2C 租户。
- 选择 Azure 门户左上角的“所有服务”,然后搜索并选择“Azure AD B2C” 。
- 选择“Identity Experience Framework”。
- 在 自定义策略中,选择“ 上传策略”。
- 选择 TrustFrameworkExtensionsCustomForcePasswordReset.xml 文件。
- 选择“上传”。
- 对信赖方文件重复步骤 6 到 8 TrustFrameworkExtensionsCustomForcePasswordReset.xml。
运行策略
- 打开用于上传 B2C_1A_TrustFrameworkExtensions_custom_ForcePasswordReset 的策略。
- 对于 应用程序,请选择之前注册的应用程序。 若要查看令牌, 回复 URL 应显示
https://jwt.ms
。 - 选择“立即运行”。
- 使用重置密码的用户帐户登录。
- 现在必须更改用户的密码。 更改密码,然后选择“ 继续”。 令牌将返回到
https://jwt.ms
并显示出来。
在下一次登录时强制重置密码
若要在下次登录时强制重置密码,请通过 MS Graph 更新用户操作更新帐户密码配置文件。 为此,需要为 Microsoft Graph 应用程序 分配 用户管理员 角色。 按照 “授予用户管理员”角色 中的步骤为 Microsoft Graph 应用程序分配用户管理员角色。
以下示例将密码配置文件 forceChangePasswordNextSignIn 属性更新为 true
,这会强制用户在下次登录时重置密码。
PATCH https://graph.microsoft.com/v1.0/users/<user-object-ID>
Content-type: application/json
{
"passwordProfile": {
"forceChangePasswordNextSignIn": true
}
}
设置帐户密码配置文件后,还必须配置强制密码重置流,如本文所述。
在 90 天后强制重置密码
作为管理员,可以使用 MS Graph 将用户的密码过期设置为 90 天。 90 天后, forceChangePasswordNextSignIn 属性的值将自动设置为 true
。 若要在 90 天后强制重置密码,请从用户配置文件DisablePasswordExpiration
属性中删除该值。
以下示例将密码策略更新为 None
,该策略在 90 天后强制重置密码:
PATCH https://graph.microsoft.com/v1.0/users/<user-object-ID>
Content-type: application/json
{
"passwordPolicies": "None"
}
如果禁用了强 密码复杂性,请将密码策略更新为 DisableStrongPassword:
注释
用户重置其密码后,passwordPolicies 将更改回 DisablePasswordExpiration
PATCH https://graph.microsoft.com/v1.0/users/<user-object-ID>
Content-type: application/json
{
"passwordPolicies": "DisableStrongPassword"
}
设置密码过期策略后,还必须配置强制密码重置流,如本文所述。
密码过期期限
默认情况下,密码设置为不过期。 但是,可以使用 Microsoft Graph PowerShell 模块中的 Update-MgDomain cmdlet 配置该值。 此命令会更新租户设置,使得所有用户的密码将在您配置的天数后自动过期。 例如:
Import-Module Microsoft.Graph.Identity.DirectoryManagement
Connect-MgGraph -Scopes 'Domain.ReadWrite.All'
$domainId = "contoso.com"
$params = @{
passwordValidityPeriodInDays = 90
}
Update-MgDomain -DomainId $domainId -BodyParameter $params
-
passwordValidityPeriodInDays
是密码在必须更改之前保持有效的天数。
相关内容
设置 密码自助重置。