Partager via


Ajouter AD FS en tant que fournisseur d’identité OpenID Connect à 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.

Conditions préalables

Créer une application AD FS

Pour activer la connexion pour les utilisateurs disposant d’un compte AD FS dans Azure Active Directory B2C (Azure AD B2C), créez un groupe d’applications dans votre ad FS. Pour plus d’informations, consultez Créer une application web à l’aide d’OpenID Connect avec AD FS 2016 et versions ultérieures

Pour créer un groupe d’applications, procédez comme suit :

  1. Dans le Gestionnaire de serveur, sélectionnez Outils, puis ad FS Management.
  2. Dans Gestion AD FS, cliquez avec le bouton droit sur Groupes d’applications et sélectionnez Ajouter un groupe d’applications.
  3. Sur l’écran Bienvenue de l’Assistant de groupe d’applications :
    1. Entrez le nom de votre application. Par exemple, application Azure AD B2C.
    2. Sous Client-Server applications, sélectionnez le navigateur web qui accède à un modèle d’application web .
    3. Cliquez sur Suivant.
  4. Sur l’écran Application native de l’Assistant de groupe d’applications :
    1. Copiez la valeur d’Identificateur du client. L’identificateur client est votre ID d’application AD FS. Vous aurez besoin de l’ID d’application plus loin dans cet article.
    2. Dans l’URI de redirection, entrez https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp, puis ajoutez. Si vous utilisez un domaine personnalisé, entrez https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Remplacez your-tenant-name par le nom de votre locataire et your-domain-name par votre domaine personnalisé.
    3. Sélectionnez Suivant, puis Suivant, et encore Suivant pour terminer l’assistant d'inscription de l’application.
    4. Sélectionnez Fermer.

Configurer les revendications de l’application

Dans cette étape, configurez les réclamations que l’application AD FS renvoie à Azure AD B2C.

  1. Dans les groupes d’applications, sélectionnez l’application que vous avez créée.

  2. Dans la fenêtre des propriétés de l’application, sous Applications, sélectionnez l’application web. Sélectionnez Ensuite Modifier. Capture d’écran montrant comment modifier une application web.

  3. Sélectionnez l’onglet Règles de transformation d’émission . Sélectionnez Ensuite Ajouter une règle.

  4. Dans le modèle de règle de revendication, sélectionnez Envoyer des attributs LDAP en tant que revendications, puis Suivant.

  5. Fournissez un nom de règle de revendication. Pour le magasin d’attributs, sélectionnez Active Directory, ajoutez les revendications suivantes.

    Attribut LDAP Type de revendication sortante
    Utilisateur -Principal-Name UPN
    Nom de famille nom de famille
    Given-Name given_name
    Display-Name nom

    Notez que certains noms ne s’affichent pas dans la liste déroulante du type de requête sortante. Vous devez les taper manuellement (la liste déroulante est modifiable).

  6. Sélectionnez Terminer.

  7. Sélectionnez Appliquer, puis OK.

  8. Sélectionnez OK à nouveau pour terminer.

Configurer AD FS en tant que fournisseur d’identité

  1. Connectez-vous au portail Azure avec un compte disposant au moins des privilèges d’administrateur du fournisseur d’identité externe .

  2. 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.

  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 Fournisseurs d’identité, puis nouveau fournisseur OpenID Connect.

  5. Saisissez un Nom. Par exemple, Contoso.

  6. Pour l’URL des métadonnées, entrez l’URL du document de configuration Ad FS OpenID Connect. Par exemple:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  7. Pour ID client, entrez l’ID d’application que vous avez enregistré précédemment.

  8. Pour Étendue, entrez openid.

  9. Pour le type de réponse, sélectionnez id_token. Par conséquent, la valeur de secret client n'est pas nécessaire. En savoir plus sur l’utilisation de l’ID client et du secret lors de l’ajout d’un fournisseur d’identité OpenID Connect générique.

  10. (Facultatif) Pour l’indicateur de domaine, saisissez contoso.com. Pour plus d’informations, consultez Configurer la connexion directe avec Azure Active Directory B2C.

  11. Sous Mappage des revendications du fournisseur d’identité, sélectionnez les revendications suivantes :

    • ID d’utilisateur : upn
    • Nom d’affichage : unique_name
    • Nom donné : given_name
    • Nom de famille : family_name
  12. Cliquez sur Enregistrer.

Ajouter un fournisseur d’identité AD FS à un flux d’utilisateur

À ce stade, le fournisseur d’identité AD FS (Contoso) a été configuré, mais il n’est pas encore disponible dans les pages de connexion. Pour ajouter le fournisseur d’identité AD FS à un flux d’utilisateur :

  1. Dans votre tenant Azure AD B2C, sélectionnez Flux d’utilisateurs.
  2. Sélectionnez le flux utilisateur auquel vous souhaitez ajouter le fournisseur d’identité AD FS (Contoso).
  3. Sous les fournisseurs d’identité sociale, sélectionnez Contoso.
  4. Cliquez sur Enregistrer.
  5. Pour tester votre stratégie, sélectionnez Exécuter le flux utilisateur.
  6. Pour l’application, sélectionnez l’application web nommée testapp1 que vous avez inscrite précédemment. L’URL de réponse doit être https://jwt.ms.
  7. Sélectionnez le bouton Exécuter le flux utilisateur .
  8. Dans la page d’inscription ou de connexion, sélectionnez Contoso pour vous connecter avec le compte Contoso.

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.

Configurer AD FS en tant que fournisseur d’identité

Pour permettre aux utilisateurs de se connecter à l’aide d’un compte AD FS, vous devez définir AD FS en tant que fournisseur de revendications avec lequel Azure AD B2C peut communiquer via un point de terminaison.

  1. Ouvrez le fichier TrustFrameworkExtensions.xml.

  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>contoso.com</Domain>
      <DisplayName>Contoso</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Contoso-OpenIdConnect">
          <DisplayName>Contoso</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://your-adfs-domain/adfs/.well-known/openid-configuration</Item>
            <Item Key="response_types">id_token</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="scope">openid</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">0</Item>
            <!-- Update the Client ID below to the Application ID -->
            <Item Key="client_id">Your AD FS application ID</Item>
          </Metadata>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="upn" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="unique_name" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss"  />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Pour l’URL des métadonnées, entrez l’URL du document de configuration d’AD FS OpenID Connect. Par exemple:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  5. Définissez client_id sur l’ID d’application à partir de l’enregistrement de l’application.

  6. Enregistrez le fichier.

Ajouter un parcours utilisateur

À ce stade, le fournisseur d'identité a été configuré, mais il n'est pas encore disponible dans 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="ContosoExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

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

Configurer la stratégie de partie de confiance

La politique de partie de confiance, par exemple SignUpSignIn.xml, spécifie le parcours utilisateur qu'Azure AD B2C exécutera. Recherchez l’élément DefaultUserJourney dans la partie de confiance. 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>

Téléchargez la stratégie 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. Dans la page d’inscription ou de connexion, sélectionnez Contoso pour vous connecter avec le compte Contoso.

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.

Étapes suivantes

Découvrez comment transmettre AD-FS jeton à votre application.