這很重要
自 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 應用程式。
Reply 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]。
- 選取 [ 身分識別體驗架構]。
- 在 [自定義原則] 中,選取 [上傳原則]。
- 選取 TrustFrameworkExtensionsCustomForcePasswordReset.xml 檔案。
- 選取 上傳。
- 針對信任方檔案 TrustFrameworkExtensionsCustomForcePasswordReset.xml 重複執行步驟 6 到 8。
執行政策
- 開啟您上傳 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是密碼在必須變更前保持有效天數的時間長度。
相關內容
設定 自助式密碼重置。