Konfigurera ett force-flöde för lösenordsåterställning i Azure Active Directory B2C

Innan du börjar använder du väljaren Välj en principtyp för att välja den typ av princip som du konfigurerar. Azure Active Directory B2C erbjuder två metoder för att definiera hur användare interagerar med dina program: via fördefinierade användarflöden eller genom fullständigt konfigurerbara anpassade principer. De steg som krävs i den här artikeln skiljer sig åt för varje metod.

Översikt

Som administratör kan du återställa en användares lösenord om användaren glömmer sitt lösenord. Eller så vill du tvinga dem att återställa lösenordet. I den här artikeln får du lära dig hur du framtvingar en lösenordsåterställning i dessa scenarier.

När en administratör återställer en användares lösenord via Azure-portalen anges värdet för attributet forceChangePasswordNextSignIn till true. Inloggnings - och registreringsresan kontrollerar värdet för det här attributet. När användaren har slutfört inloggningen måste användaren återställa sitt lösenord om attributet är inställt på true. Sedan anges värdet för attributet till tillbaka false.

Force password reset flow

Flödet för lösenordsåterställning gäller för lokala konton i Azure AD B2C som använder en e-postadress eller ett användarnamn med ett lösenord för inloggning.

Förutsättningar

Konfigurera användarflödet

Så här aktiverar du inställningen Tvingad lösenordsåterställning i ett användarflöde för registrering eller inloggning:

  1. Logga in på Azure-portalen.
  2. Om du har åtkomst till flera klienter väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klient från menyn Kataloger + prenumerationer.
  3. I Azure-portalen söker du efter och väljer Azure AD B2C.
  4. Välj Användarflöden.
  5. Välj det registrerings- och inloggningsflöde eller inloggningsanvändarflöde (av typen Rekommenderas) som du vill anpassa.
  6. Välj Egenskaper under Inställningar på den vänstra menyn.
  7. Under Lösenordskonfiguration väljer du Tvingad lösenordsåterställning.
  8. Välj Spara.

Testa användarflödet

  1. Logga in på Azure-portalen som användaradministratör eller lösenordsadministratör. Mer information om tillgängliga roller finns i Tilldela administratörsroller i Microsoft Entra-ID.
  2. Om du har åtkomst till flera klienter väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klient från menyn Kataloger + prenumerationer.
  3. I Azure-portalen söker du efter och väljer Azure AD B2C.
  4. Välj Användare. Sök efter och välj den användare som du ska använda för att testa lösenordsåterställningen och välj sedan Återställ lösenord.
  5. I Azure-portalen söker du efter och väljer Azure AD B2C.
  6. Välj Användarflöden.
  7. Välj ett användarflöde för registrering eller inloggning (av typen Rekommenderas) som du vill testa.
  8. Välja Kör användarflödet.
  9. För Program väljer du webbprogrammet med namnet webapp1 som du tidigare registrerade. Svars-URL :en ska visa https://jwt.ms.
  10. Välja Kör användarflödet.
  11. Logga in med det användarkonto som du återställer lösenordet för.
  12. Nu måste du ändra lösenordet för användaren. Ändra lösenordet och välj Fortsätt. Token returneras till https://jwt.ms och ska visas för dig.

Konfigurera din anpassade princip

Hämta exemplet på principen för framtvinga lösenordsåterställning på GitHub. I varje fil ersätter du strängen yourtenant med namnet på din Azure AD B2C-klientorganisation. Om namnet på B2C-klienten till exempel är contosob2c blir alla instanser av yourtenant.onmicrosoft.com .contosob2c.onmicrosoft.com

Ladda upp och testa principen

  1. Logga in på Azure-portalen.
  2. Om du har åtkomst till flera klienter väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klient från menyn Kataloger + prenumerationer.
  3. Välj Alla tjänster på menyn högst upp till vänster i Azure-portalen och sök efter och välj Azure AD B2C.
  4. Välj Identity Experience Framework.
  5. I Anpassade principer väljer du Ladda upp princip.
  6. Välj filen TrustFrameworkExtensionsCustomForcePasswordReset.xml.
  7. Välj överför.
  8. Upprepa steg 6 till och med 8 för den förlitande partfilen TrustFrameworkExtensionsCustomForcePasswordReset.xml.

Kör principen

  1. Öppna principen som du laddade upp B2C_1A_TrustFrameworkExtensions_custom_ForcePasswordReset.
  2. För Program väljer du det program som du registrerade tidigare. Om du vill se token ska svars-URL :en visa https://jwt.ms.
  3. Välj kör nu.
  4. Logga in med det användarkonto som du återställer lösenordet för.
  5. Nu måste du ändra lösenordet för användaren. Ändra lösenordet och välj Fortsätt. Token returneras till https://jwt.ms och ska visas för dig.

Framtvinga lösenordsåterställning vid nästa inloggning

Om du vill tvinga fram återställning av lösenordet vid nästa inloggning uppdaterar du kontolösenordprofilen med hjälp av användaråtgärden MS Graph Update. För att göra detta måste du tilldela ditt Microsoft Graph-programrollen Användaradministratör . Följ stegen i Bevilja användaradministratörsroll för att tilldela ditt Microsoft Graph-program en användaradministratörsroll.

I följande exempel uppdateras lösenordets profil forceChangePasswordNextSignIn till true, vilket tvingar användaren att återställa lösenordet vid nästa inloggning.

PATCH https://graph.microsoft.com/v1.0/users/<user-object-ID>
Content-type: application/json

{
    "passwordProfile": {
      "forceChangePasswordNextSignIn": true
    }
}

När kontolösenordsprofilen har angetts måste du även konfigurera force password reset flow(Framtvinga flöde för lösenordsåterställning) enligt beskrivningen i den här artikeln.

Framtvinga en lösenordsåterställning efter 90 dagar

Som administratör kan du ange att användarens lösenord upphör att gälla till 90 dagar med hjälp av MS Graph. Efter 90 dagar anges värdet för attributet forceChangePasswordNextSignIn automatiskt till true. Om du vill tvinga fram en lösenordsåterställning efter 90 dagar tar du bort DisablePasswordExpiration värdet från användarens principattribut för lösenordsprofil.

I följande exempel uppdateras lösenordsprincipen till None, vilket tvingar fram en lösenordsåterställning efter 90 dagar:

PATCH https://graph.microsoft.com/v1.0/users/<user-object-ID>
Content-type: application/json

{
  "passwordPolicies": "None"
}

Om du har inaktiverat den starka lösenordskomplexiteten uppdaterar du lösenordsprincipen till DisableStrongPassword:

Kommentar

När användaren har återställt sitt lösenord ändras passwordPolicies tillbaka till DisablePasswordExpiration

PATCH https://graph.microsoft.com/v1.0/users/<user-object-ID>
Content-type: application/json

{
  "passwordPolicies": "DisableStrongPassword"
}

När en förfalloprincip för lösenord har angetts måste du också konfigurera force password reset flow(Framtvinga flöde för lösenordsåterställning), enligt beskrivningen i den här artikeln.

Förfallotid för lösenord

Lösenordet är som standard inställt på att inte upphöra att gälla. Värdet kan dock konfigureras med hjälp av cmdleten Update-MgDomain från Microsoft Graph PowerShell-modulen. Det här kommandot uppdaterar klientorganisationen så att alla användares lösenord upphör att gälla efter ett antal dagar som du konfigurerar. Till exempel:

Import-Module Microsoft.Graph.Identity.DirectoryManagement

Connect-MgGraph  -Scopes 'Domain.ReadWrite.All'

$domainId = "contoso.com"
$params = @{
	passwordValidityPeriodInDays = 90
	passwordNotificationWindowInDays = 15
}

Update-MgDomain -DomainId $domainId -BodyParameter $params

Kommentar

passwordValidityPeriodInDays anger hur lång tid i dagar ett lösenord förblir giltigt innan det måste ändras. passwordNotificationWindowInDays anger hur lång tid det tar i dagar innan lösenordet upphör att gälla när användarna får sitt första meddelande om att lösenordet håller på att upphöra att gälla.

Nästa steg

Konfigurera en lösenordsåterställning med självbetjäning.