Partager via


Configurer la connexion pour Microsoft Entra ID multilocataire à l’aide de stratégies personnalisées dans Azure Active Directory B2C

Important

À compter du 1er mai 2025, Azure AD B2C ne sera plus disponible pour les nouveaux clients. Pour plus d’informations, consultez notre FAQ.

Avant de commencer, utilisez le sélecteur Choisir un type de stratégie en haut de cette page 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.

Cette fonctionnalité est disponible uniquement pour les stratégies personnalisées. Pour les étapes de configuration, sélectionnez Stratégie personnalisée dans le sélecteur précédent.

Cet article vous montre comment activer la connexion pour les utilisateurs à l’aide du point de terminaison multilocataire pour Microsoft Entra ID, ce qui permet aux utilisateurs de plusieurs locataires Microsoft Entra de se connecter à l’aide d’Azure AD B2C, sans que vous ayez à configurer un fournisseur d’identité pour chaque locataire. Toutefois, les membres invités de l’un de ces locataires ne pourront pas se connecter. Pour cela, vous devez configurer individuellement chaque locataire.

Conditions préalables

Remarque

Dans cet article, il est supposé que le pack de démarrage SocialAndLocalAccounts est utilisé dans les étapes précédentes mentionnées dans le pré-requis.

Inscrire une application Microsoft Entra

Pour permettre aux utilisateurs de se connecter à Azure AD B2C avec un compte Microsoft Entra, vous devez d’abord créer une application dans le locataire Microsoft Entra à partir du portail Azure. Pour plus d’informations, consultez Inscrire une application auprès de la plateforme d’identités Microsoft.

  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 Microsoft Entra à partir du menu Répertoires + abonnements .

  3. Choisissez Tous les services dans le coin supérieur gauche du portail Azure, puis recherchez et sélectionnez Inscriptions d’applications.

  4. Sélectionnez Nouvelle inscription.

  5. Entrez un nom pour votre application. Par exemple : Azure AD B2C App.

  6. Sélectionnez Comptes dans un annuaire d’organisation (tout annuaire Microsoft Entra - Multilocataire) pour cette application.

  7. Pour l’URI de redirection, acceptez la valeur du web et entrez l’URL suivante dans toutes les lettres minuscules, où your-B2C-tenant-name est remplacée par le nom de votre locataire Azure AD B2C.

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

    Par exemple : https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp.

    Si vous utilisez un domaine personnalisé, entrez https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Remplacez your-domain-name par votre domaine personnalisé et your-tenant-name par le nom de votre locataire.

  8. Sélectionnez Inscrire. Enregistrez l’ID d’application (client) à utiliser dans une étape ultérieure.

  9. Sélectionnez Certificats et secrets, puis sélectionnez Nouveau secret client.

  10. Entrez une description pour le secret, sélectionnez une expiration, puis sélectionnez Ajouter. Enregistrez la valeur du secret à utiliser dans une étape ultérieure.

Remarque

La clé secrète client ne sera plus affichée après cette étape. Si vous n’en faites pas de trace, vous devrez en créer un nouveau.

[Facultatif] Configuration des revendications facultatives

Si vous souhaitez obtenir les revendications family_name et given_name à partir de Microsoft Entra ID, vous pouvez configurer des revendications facultatives pour votre application dans l’interface utilisateur du portail Azure ou dans le manifeste de l’application. Pour plus d’informations, consultez Comment fournir des revendications facultatives à votre application Microsoft Entra.

  1. Connectez-vous au portail Azure. Recherchez et sélectionnez Microsoft Entra ID.
  2. Dans la section Gérer , sélectionnez Inscriptions d’applications.
  3. Sélectionnez l’application pour laquelle vous souhaitez configurer des revendications facultatives dans la liste.
  4. Dans la section Gérer , sélectionnez Configuration du jeton.
  5. Sélectionnez Ajouter une revendication facultative.
  6. Pour le type de jeton, sélectionnez ID.
  7. Sélectionnez les revendications facultatives à ajouter, family_name, et given_name.
  8. Sélectionnez Ajouter. Si Activer l’autorisation de messagerie Microsoft Graph (requise pour que les déclarations apparaissent dans le jeton) s’affiche, activez-la, puis sélectionnez à nouveau Ajouter.

[Facultatif] Vérifier l’authenticité de votre application

La vérification de l’éditeur aide vos utilisateurs à comprendre l’authenticité de l’application que vous avez enregistrée. Une application vérifiée signifie que l’éditeur de l’application a vérifié son identité à l’aide de son MPN (Microsoft Partner Network). Apprenez à marquer votre application avec la mention « éditeur vérifié ».

Créer une clé de stratégie

Vous devez maintenant stocker la clé d’application que vous avez créée dans votre locataire Azure AD B2C.

  1. Si vous avez accès à plusieurs tenants (locataires), sélectionnez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant Azure AD B2C à partir du menu Annuaires + abonnements.
  2. Choisissez tous les services dans le coin supérieur gauche du portail Azure, puis recherchez et sélectionnez Azure AD B2C.
  3. Sous Stratégies, sélectionnez Identity Experience Framework.
  4. Sélectionnez Clés de stratégie , puis sélectionnez Ajouter.
  5. Pour options, choisissez Manual.
  6. Entrez un nom pour la clé de stratégie. Par exemple : AADAppSecret. Le préfixe B2C_1A_ est ajouté automatiquement au nom de votre clé lors de sa création, de sorte que sa référence dans la section XML suivante est à B2C_1A_AADAppSecret.
  7. Dans Secret, entrez la clé secrète client que vous avez enregistrée précédemment.
  8. Pour l’utilisation de la clé, sélectionnez Signature.
  9. Cliquez sur Créer.

Configurer l’ID Microsoft Entra en tant que fournisseur d’identité

Pour permettre aux utilisateurs de se connecter à l’aide d’un compte Microsoft Entra, vous devez définir l’ID Microsoft Entra en tant que fournisseur de revendications avec lequel Azure AD B2C peut communiquer via un point de terminaison. Le point de terminaison fournit un ensemble de revendications utilisées par Azure AD B2C pour vérifier qu’un utilisateur spécifique s’est authentifié.

Vous pouvez définir Microsoft Entra ID en tant que fournisseur de revendications en ajoutant Microsoft Entra ID à l’élément ClaimsProvider dans le fichier d’extension de votre stratégie.

  1. Ouvrez le fichier SocialAndLocalAccounts/TrustFrameworkExtensions.xml (consultez les fichiers que vous avez utilisés dans les conditions préalables).

  2. Recherchez l’élément ClaimsProviders . S’il n’existe pas, ajoutez-le sous l’élément racine.

  3. Ajoutez un nouveau ClaimsProvider comme suit :

    <ClaimsProvider>
      <Domain>commonaad</Domain>
      <DisplayName>Common AAD</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AADCommon-OpenIdConnect">
          <DisplayName>Multi-Tenant AAD</DisplayName>
          <Description>Login with your Contoso account</Description>
          <Protocol Name="OpenIdConnect"/>
          <Metadata>
            <Item Key="METADATA">https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration</Item>
            <!-- Update the Client ID below to the Application ID -->
            <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid profile</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
            <Item Key="DiscoverMetadataByTokenIssuer">true</Item>
            <!-- The key below allows you to specify each of the Azure AD tenants that can be used to sign in. Update the GUIDs below for each tenant. -->
            <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000,https://login.microsoftonline.com/11111111-1111-1111-1111-111111111111</Item>
            <!-- The commented key below specifies that users from any tenant can sign-in. Uncomment if you would like anyone with an Azure AD account to be able to sign in. -->
            <!-- <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item> -->
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_AADAppSecret"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="oid"/>
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/>
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/>
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/>
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/>
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Sous l’élément ClaimsProvider , mettez à jour la valeur de Domaine en une valeur unique qui peut être utilisée pour la distinguer d’autres fournisseurs d’identité.

  5. Sous l’élément TechnicalProfile , mettez à jour la valeur de DisplayName, par exemple, Multi-Tenant AAD. Cette valeur s’affiche sur le bouton de connexion de votre page de connexion.

  6. Définissez client_id sur l’ID d’application de l’application multilocataire Microsoft Entra que vous avez enregistrée précédemment.

  7. Sous CryptographicKeys, mettez à jour la valeur de StorageReferenceId avec le nom de la clé de stratégie que vous avez créée précédemment. Par exemple : B2C_1A_AADAppSecret.

Restreindre l’accès

L’utilisation https://login.microsoftonline.com/ de la valeur ValidTokenIssuerPrefixes permet à tous les utilisateurs Microsoft Entra de se connecter à votre application. Mettez à jour la liste des émetteurs de jetons valides et limitez l’accès à une liste spécifique d’utilisateurs de locataires Microsoft Entra qui peuvent se connecter.

Pour obtenir les valeurs, consultez les métadonnées de découverte OpenID Connect pour chacun des locataires Microsoft Entra à partir desquels vous souhaitez que les utilisateurs se connectent. Le format de l’URL de métadonnées est similaire à https://login.microsoftonline.com/your-tenant/v2.0/.well-known/openid-configuration, où your-tenant est le nom de votre locataire Microsoft Entra. Par exemple:

https://login.microsoftonline.com/fabrikam.onmicrosoft.com/v2.0/.well-known/openid-configuration

Effectuez ces étapes pour chaque entité Microsoft Entra à utiliser pour se connecter :

  1. Ouvrez votre navigateur et accédez à l’URL des métadonnées OpenID Connect pour le locataire. Trouvez l’objet issuer et notez sa valeur. Il doit ressembler à https://login.microsoftonline.com/ aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0.
  2. Copiez et collez la valeur dans la clé ValidTokenIssuerPrefixes . Séparez les émetteurs multiples par une virgule. Un exemple avec deux émetteurs apparaît dans l’exemple XML précédent ClaimsProvider .

Ajouter un parcours utilisateur

À ce stade, le fournisseur d’identité a été configuré, mais il n’est pas encore accessible depuis aucune des pages de connexion. Si vous n’avez pas votre propre parcours utilisateur personnalisé, créez un doublon d’un parcours utilisateur de modèle existant, sinon passez à l’étape suivante.

  1. Ouvrez le fichier TrustFrameworkBase.xml à partir du pack de démarrage.
  2. Recherchez et copiez l’intégralité du contenu de l’élément UserJourney qui inclut Id="SignUpOrSignIn".
  3. Ouvrez le TrustFrameworkExtensions.xml et recherchez l’élément UserJourneys . Si l’élément n’existe pas, ajoutez-en un.
  4. Collez tout le contenu de l’élément UserJourney que vous avez copié en tant qu’enfant de l’élément UserJourneys .
  5. Renommez l’ID du parcours utilisateur. Par exemple : Id="CustomSignUpSignIn".

Ajouter le fournisseur d’identité à un parcours utilisateur

Maintenant que vous disposez d’un parcours utilisateur, ajoutez le nouveau fournisseur d’identité au parcours utilisateur. Vous ajoutez d’abord un bouton de connexion, puis liez le bouton à une action. L’action correspond au profil technique que vous avez créé précédemment.

  1. Recherchez l’élément d’étape d’orchestration qui inclut Type="CombinedSignInAndSignUp"ou Type="ClaimsProviderSelection" dans le parcours utilisateur. Il s’agit généralement de la première étape d’orchestration. L’élément ClaimsProviderSelections contient une liste de fournisseurs d’identité auxquels un utilisateur peut se connecter. L’ordre des éléments contrôle l’ordre des boutons de connexion présentés à l’utilisateur. Ajoutez un élément XML ClaimsProviderSelection . Définissez la valeur de TargetClaimsExchangeId sur un nom convivial.

  2. À l’étape d’orchestration suivante, ajoutez un élément ClaimsExchange . Définissez ID sur la valeur de l’ID d’échange des revendications cible. Mettez à jour la valeur de TechnicalProfileReferenceId sur l’ID du profil technique que vous avez créé.

Le code XML suivant illustre les deux premières étapes d’orchestration d’un parcours utilisateur avec le fournisseur d’identité :

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="AzureADCommonExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="AzureADCommonExchange" TechnicalProfileReferenceId="AADCommon-OpenIdConnect" />
  </ClaimsExchanges>
</OrchestrationStep>

Configurer la stratégie de partie de confiance

La stratégie du partenaire de confiance, par exemple SignUpSignIn.xml, spécifie le parcours utilisateur que Azure AD B2C mettra en œuvre. Recherchez l'élément DefaultUserJourney dans la partie requérante. Mettez à jour le ReferenceId pour qu'il corresponde à l'identifiant du parcours utilisateur dans lequel vous avez ajouté le fournisseur d'identité.

Dans l’exemple suivant, pour le CustomSignUpSignIn parcours utilisateur, l’Id de référence est défini sur CustomSignUpSignIn:

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Charger la politique personnalisée

  1. Connectez-vous au portail Azure.
  2. Sélectionnez l’icône Répertoire + Abonnement dans la barre d’outils du portail, puis sélectionnez le répertoire qui contient votre locataire Azure AD B2C.
  3. Dans le portail Azure, recherchez et sélectionnez Azure AD B2C.
  4. Sous Stratégies, sélectionnez Identity Experience Framework.
  5. Sélectionnez Charger une stratégie personnalisée, puis chargez les deux fichiers de stratégie que vous avez modifiés, dans l’ordre suivant : la stratégie d’extension, par exemple TrustFrameworkExtensions.xml, la stratégie de partie de confiance, telle que SignUpSignIn.xml.

Tester votre stratégie personnalisée

  1. Sélectionnez votre stratégie de partie de confiance, par exemple B2C_1A_signup_signin.
  2. Pour l’application, sélectionnez une application web que vous avez inscrite précédemment. L’URL de réponse doit être https://jwt.ms.
  3. Sélectionnez le bouton Exécuter maintenant .
  4. À partir de la page d’inscription ou de connexion, sélectionnez Identifiant Microsoft Entra commun pour vous connecter avec un compte Microsoft Entra.

Pour tester la fonctionnalité de connexion multilocataire, effectuez les deux dernières étapes à l’aide des informations d’identification d’un utilisateur qui existe avec un autre locataire Microsoft Entra. Copiez le point de terminaison Exécuter maintenant et ouvrez-le dans une fenêtre de navigation privée, par exemple en mode navigation privée dans Google Chrome ou dans une fenêtre InPrivate dans Microsoft Edge. L’ouverture dans une fenêtre de navigateur privé vous permet de tester l’intégralité du parcours de l’utilisateur en n’utilisant pas les informations d’identification Microsoft Entra actuellement mises en cache.

Si le processus de connexion réussit, votre navigateur est redirigé vers https://jwt.ms, qui affiche le contenu du jeton retourné par Azure AD B2C.

Voir aussi