Paramétrer les URL de redirection sur b2clogin.com pour Azure Active Directory B2C

Quand vous configurez un fournisseur d’identité pour l’inscription et la connexion à votre application Azure AD B2C (Azure AD B2C) , vous devez spécifier des points de terminaison du fournisseur d'identité Azure AD B2C. Vous ne devez plus référencer login.microsoftonline.com dans vos applications et API pour authentifier les utilisateurs avec Azure AD B2C. Utilisez plutôt b2clogin.com ou un domaine personnalisé pour toutes les applications.

Points de terminaison concernés par cette modification

La transition vers b2clogin.com s’applique uniquement aux points de terminaison d’authentification qui utilisent des stratégies Azure AD B2C (flux utilisateur ou stratégies personnalisées) pour authentifier les utilisateurs. Ces points de terminaison ont un paramètre <policy-name> qui spécifie la stratégie qu’Azure AD B2C doit utiliser. En savoir plus sur les stratégies Azure AD B2C.

Les anciens points de terminaison peuvent ressembler à ce qui suit :

  • https://login.microsoft.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
  • https://login.microsoft.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>

Un point de terminaison mis à jour correspondant se présente comme suit :

  • https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
  • https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>

Avec le domaine personnalisé Azure AD B2C, le point de terminaison mis à jour correspondant se présente comme suit :

  • https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
  • https://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>

Points de terminaison qui ne sont pas affectés

Certains clients utilisent les fonctionnalités partagées des locataires d’entreprise Microsoft Entra. Par exemple, l’acquisition d’un jeton d’accès pour appeler l’API Graph MS de l’abonné Azure AD B2C.

Cette modification n’affecte pas tous les points de terminaison, qui ne contiennent pas de paramètre de stratégie dans l’URL. Ils sont accessibles uniquement avec les points de terminaison login.microsoftonline.com de Microsoft Entra ID et ne peuvent être utilisés avec b2clogin.com ou des domaines personnalisés. L’exemple suivant montre un point de terminaison de jeton valide de la plateforme d’identité Microsoft :

https://login.microsoftonline.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token

Vue d’ensemble des modifications nécessaires

Vous devrez peut-être effectuer plusieurs modifications pour migrer vos applications à partir de login.microsoftonline.com à l’aide de points de terminaison Azure AD B2C :

  • Modifiez l’URL de redirection dans les applications de votre fournisseur d’identité pour faire référence à b2clogin.com ou à un domaine personnalisé. Pour plus d’informations, suivez l’aide relative aux URL de redirection du fournisseur d’identité modifiées.
  • Mettez à jour vos applications Azure AD B2C pour qu’elles utilisent b2clogin.com ou le domaine personnalisé dans leurs références de flux utilisateur et de point de terminaison de jeton. La modification peut inclure la mise à jour de votre utilisation d’une bibliothèque d’authentification, par exemple la bibliothèque d’authentification Microsoft (MSAL).
  • Mettez à jour les origines autorisées que vous définissez dans les paramètres CORS de personnalisation de l’interface utilisateur.

Modifier les URL de redirection des fournisseurs d’identité

Sur le site web de chaque fournisseur d’identité sur lequel vous avez créé une application, modifiez toutes les URL approuvées de sorte que les redirections s’effectuent vers your-tenant-name.b2clogin.com ou un domaine personnalisé, au lieu de login.microsoftonline.com.

Vous pouvez utiliser deux formats différents pour vos URL de redirection b2clogin.com. L’avantage du premier est que « Microsoft » ne figure pas dans l’URL, car il utilise l’ID de l’abonné (GUID) et non le nom de domaine votre abonné. Notez que le point de terminaison authresp peut ne pas contenir de nom de stratégie.

https://{your-tenant-name}.b2clogin.com/{your-tenant-id}/oauth2/authresp

Le deuxième utilise le nom de domaine de votre locataire sous la forme your-tenant-name.onmicrosoft.com. Par exemple :

https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp

Pour les deux formats :

  • Remplacez {your-tenant-name} par le nom de votre locataire Azure AD B2C.
  • Supprimez l’élément /te s’il figure dans l’URL.

Mettre à jour vos applications et API

Le code de vos applications et API Azure AD B2C peut faire référence à login.microsoftonline.com à plusieurs endroits. Par exemple, votre code peut contenir des références à des flux utilisateur et à des points de terminaison de jeton. Mettez à jour les éléments suivants pour qu’ils fassent plutôt référence à your-tenant-name.b2clogin.com :

  • Point de terminaison d’autorisation
  • Point de terminaison de jeton
  • Émetteur de jeton

Par exemple, le point de terminaison d’autorité de la stratégie d’inscription/connexion de Contoso serait désormais :

https://contosob2c.b2clogin.com/00000000-0000-0000-0000-000000000000/B2C_1_signupsignin1

Pour plus d’informations sur la migration des applications web basées sur OWIN vers b2clogin.com, consultez la section Migrer une API web basée sur OWIN vers b2clogin.com.

Pour plus d’informations sur la migration des API Gestion des API Azure protégées par Azure AD B2C, consultez la section Migrer vers b2clogin.com de la partie Sécuriser une API Gestion des API Azure avec Azure AD B2C.

Bibliothèque d’authentification Microsoft (MSAL)

Propriété MSAL.NET ValidateAuthority

Si vous utilisez MSAL.NET v2 ou une version antérieure, définissez la propriété ValidateAuthority sur false à l’instanciation du client pour autoriser les redirections vers b2clogin.com. La définition de ce paramètre sur false n’est pas obligatoire pour MSAL.NET v3 et les versions ultérieures.

ConfidentialClientApplication client = new ConfidentialClientApplication(...); // Can also be PublicClientApplication
client.ValidateAuthority = false; // MSAL.NET v2 and earlier **ONLY**

MSAL pour la propriété JavaScript validateAuthority

Si vous utilisez MSAL pour JavaScript v1.2.2 ou une version antérieure, définissez la propriété validateAuthority sur false.

// MSAL.js v1.2.2 and earlier
this.clientApplication = new UserAgentApplication(
  env.auth.clientId,
  env.auth.loginAuthority,
  this.authCallback.bind(this),
  {
    validateAuthority: false // Required in MSAL.js v1.2.2 and earlier **ONLY**
  }
);

Si vous définissez validateAuthority: true dans MSAL.js 1.3.0+ (le comportement par défaut), vous devez également spécifier un émetteur de jeton valide avec knownAuthorities :

// MSAL.js v1.3.0+
this.clientApplication = new UserAgentApplication(
  env.auth.clientId,
  env.auth.loginAuthority,
  this.authCallback.bind(this),
  {
    validateAuthority: true, // Supported in MSAL.js v1.3.0+
    knownAuthorities: ['tenant-name.b2clogin.com'] // Required if validateAuthority: true
  }
);

Étapes suivantes

Pour plus d’informations sur la migration des applications web basées sur OWIN vers b2clogin.com, consultez la section Migrer une API web basée sur OWIN vers b2clogin.com.

Pour plus d’informations sur la migration des API Gestion des API Azure protégées par Azure AD B2C, consultez la section Migrer vers b2clogin.com de la partie Sécuriser une API Gestion des API Azure avec Azure AD B2C.