Configurer un flux de réinitialisation forcée du mot de passe dans Azure Active Directory B2C

Avant de commencer, utilisez le sélecteur Choisir un type de stratégie pour choisir le type de stratégie que vous configurez. Azure Active Directory B2C offre deux possibilités pour définir la façon dont les utilisateurs interagissent avec vos applications : via des flux utilisateurs prédéfinis ou via des stratégies personnalisées entièrement configurables. La procédure donnée dans cet article est différente pour chaque méthode.

Vue d’ensemble

En tant qu’administrateur, vous pouvez réinitialiser le mot de passe d’un utilisateur qui viendrait à l’oublier. Ou si vous souhaitez les forcer à réinitialiser le mot de passe. Cet article explique comment forcer une réinitialisation de mot de passe dans ces scénarios.

Quand un administrateur réinitialise le mot de passe d’un utilisateur via le portail Azure, la valeur de l’attribut forceChangePasswordNextSignIn est définie sur true. Le parcours de connexion et d’inscription vérifie la valeur de cet attribut. Une fois que l’utilisateur s’est connecté, si l’attribut a la valeur true, l’utilisateur doit réinitialiser son mot de passe. L’attribut repasse ensuite à la valeur false.

Force password reset flow

Le flux de réinitialisation du mot de passe s’applique aux comptes locaux dans Azure AD B2C qui utilisent une adresse e-mail ou un nom d’utilisateur avec un mot de passe pour la connexion.

Prérequis

Configuration du flux d’utilisateur

Pour activer le paramètre de Réinitialisation forcée du mot de passe dans un flux d’utilisateur d’inscription ou de connexion :

  1. Connectez-vous au portail Azure.
  2. Si vous avez accès à plusieurs locataires, sélectionnez l’icône Paramètres dans le menu supérieur pour basculer vers votre locataire Azure AD B2C à partir du menu Annuaires + abonnements.
  3. Dans la Portail Azure, recherchez et sélectionnez Azure AD B2C.
  4. Sélectionnez Flux d’utilisateurs.
  5. Sélectionnez le flux d’utilisateur d’inscription et de connexion ou le flux d’utilisateur de connexion (de type Recommandé) que vous souhaitez personnaliser.
  6. Dans le menu de gauche, sous Paramètres, sélectionnez Propriétés.
  7. Sous Configuration du mot de passe, sélectionnez Réinitialisation forcée du mot de passe.
  8. Sélectionnez Enregistrer.

Tester le flux utilisateur

  1. Connectez-vous au portail Azure en tant qu’administrateur d’utilisateurs ou administrateur de mot de passe. Pour plus d’informations sur les rôles disponibles, consultez Attribuer des rôles Administrateur dans Microsoft Entra ID.
  2. Si vous avez accès à plusieurs locataires, sélectionnez l’icône Paramètres dans le menu supérieur pour basculer vers votre locataire Azure AD B2C à partir du menu Annuaires + abonnements.
  3. Dans le portail Azure, recherchez et sélectionnez Azure AD B2C.
  4. Sélectionnez Utilisateurs. Recherchez et sélectionnez l’utilisateur à utiliser pour tester la réinitialisation du mot de passe, puis sélectionnez Réinitialiser le mot de passe.
  5. Dans la Portail Azure, recherchez et sélectionnez Azure AD B2C.
  6. Sélectionnez Flux d’utilisateurs.
  7. Sélectionnez un flux d’utilisateur d’inscription ou de connexion (de type Recommandé) que vous souhaitez tester.
  8. Sélectionnez Exécuter le flux utilisateur.
  9. Pour Application, sélectionnez l’application web webapp1 que vous avez précédemment inscrite. L’URL de réponse doit être https://jwt.ms.
  10. Sélectionnez Exécuter le flux utilisateur.
  11. Connectez-vous avec le compte d’utilisateur pour lequel vous réinitialisez le mot de passe.
  12. Vous devez maintenant modifier le mot de passe pour l’utilisateur. Changez le mot de passe et sélectionnez Continuer. Le jeton est envoyé à https://jwt.ms et vous devez le voir.

Configurer votre stratégie personnalisée

Obtenez l’exemple de stratégie de réinitialisation forcée de mot de passe sur GitHub. Dans chaque fichier, remplacez la chaîne yourtenant par le nom de votre locataire Azure AD B2C. Par exemple, si le nom de votre locataire B2C est contosob2c, toutes les instances de yourtenant.onmicrosoft.com deviennent contosob2c.onmicrosoft.com.

Chargez et testez la stratégie.

  1. Connectez-vous au portail Azure.
  2. Si vous avez accès à plusieurs locataires, sélectionnez l’icône Paramètres dans le menu supérieur pour basculer vers votre locataire Azure AD B2C à partir du menu Annuaires + abonnements.
  3. Choisissez Tous les services dans le coin supérieur gauche du portail Azure, puis recherchez et sélectionnez Azure AD B2C.
  4. Sélectionnez Infrastructure d’expérience d’identité.
  5. Dans Stratégies personnalisées, sélectionnez Télécharger la stratégie.
  6. Sélectionnez le fichier TrustFrameworkExtensionsCustomForcePasswordReset.xml.
  7. Sélectionnez Télécharger.
  8. Répétez les étapes 6 à 8 pour le fichier de partie de confiance TrustFrameworkExtensionsCustomForcePasswordReset.xml.

Exécuter la stratégie

  1. Ouvrez la stratégie que vous avez chargée B2C_1A_TrustFrameworkExtensions_custom_ForcePasswordReset.
  2. Pour Application, sélectionnez l’application que vous avez inscrite précédemment. Pour voir le jeton, l’URL de réponse doit indiquer https://jwt.ms.
  3. Sélectionnez Exécuter maintenant.
  4. Connectez-vous avec le compte d’utilisateur pour lequel vous réinitialisez le mot de passe.
  5. Vous devez maintenant modifier le mot de passe pour l’utilisateur. Changez le mot de passe et sélectionnez Continuer. Le jeton est envoyé à https://jwt.ms et vous devez le voir.

Réinitialisation forcée du mot de passe à la connexion suivante

Pour forcer la réinitialisation du mot de passe à la connexion suivante, mettez à jour le profil de mot de passe du compte avec l’opération Mettre à jour l’utilisateur de Microsoft Graph. Pour ce faire, vous devez attribuer le rôle Administrateur d’utilisateurs à votre application Microsoft Graph. Suivez les étapes décrites dans Accorder le rôle Administrateur d’utilisateurs pour attribuer à votre application Microsoft Graph un rôle d’administrateur d’utilisateurs.

Dans l’exemple suivant, l’attribut forceChangePasswordNextSignIn du profil de mot de passe est mis à jour avec la valeur true, ce qui force l’utilisateur à réinitialiser le mot de passe lors de la prochaine connexion.

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

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

Une fois le profil de mot de passe du compte défini, vous devez également configurer un flux de réinitialisation forcée du mot de passe comme le décrit cet article.

Forcer la réinitialisation du mot de passe au bout de 90 jours

En tant qu’administrateur, vous pouvez fixer l’expiration du mot de passe d’un utilisateur à 90 jours à l’aide de MS Graph. Au bout de 90 jours, la valeur de l’attribut forceChangePasswordNextSignIn est définie automatiquement sur true. Pour forcer la réinitialisation de mot de passe au bout de 90 jours, supprimez la valeur DisablePasswordExpiration de l’attribut Stratégie de mot de passe du profil de l’utilisateur.

Dans l’exemple suivant, la stratégie de mot de passe est mise à jour avec la valeur None, ce qui force la réinitialisation de mot de passe après 90 jours :

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

{
  "passwordPolicies": "None"
}

Si vous avez désactivé la complexité du mot de passe forte, mettez à jour la stratégie de mot de passe avec la valeur DisableStrongPassword :

Notes

Une fois que l’utilisateur a réinitialisé son mot de passe, passwordPolicies est remplacé par DisablePasswordExpiration

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

{
  "passwordPolicies": "DisableStrongPassword"
}

Une fois qu’une stratégie d’expiration du mot de passe a été définie, vous devez également configurer un flux de réinitialisation forcée du mot de passe, comme décrit dans cet article.

Délai d'expiration du mot de passe

Par défaut, le mot de passe est configuré pour ne pas expirer. Cependant, la valeur est configurable en utilisant la cmdlet Update-MgDomain dans le module Microsoft Graph PowerShell. Cette commande met à jour le tenant de sorte que tous les mots de passe des utilisateurs expirent au bout du nombre de jours configuré. Par exemple :

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

Remarque

passwordValidityPeriodInDays indique la durée en jours de validité d’un mot de passe avant qu’il ne doive être modifié. passwordNotificationWindowInDays indique la durée en jours avant la date d’expiration du mot de passe lorsque les utilisateurs reçoivent leur première notification indiquant que leur mot de passe est sur le point d’expirer.

Étapes suivantes

Configurez une Réinitialisation de mot de passe en libre-service.