Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
Remarque
Dans Active Directory B2C, les stratégies personnalisées sont principalement conçues pour gérer des scénarios complexes. Pour la plupart des scénarios, nous vous recommandons de recourir à des flux d’utilisateurs intégrés. Si vous ne l’avez pas fait, découvrez le Pack de démarrage de stratégie personnalisée dans Prise en main des stratégies personnalisées dans Active Directory B2C.
Conditions préalables
- Créez un flux d’utilisateurs pour permettre aux utilisateurs de s’inscrire et de se connecter à votre application.
- Inscrire une application web.
- Suivez les étapes de Prise en main des stratégies personnalisées dans Active Directory B2C. Ce tutoriel vous explique comment mettre à jour des fichiers de stratégie personnalisés pour utiliser votre configuration de locataire Azure AD B2C.
- Inscrire une application web.
Créer une application LinkedIn
Pour activer la connexion pour les utilisateurs disposant d’un compte LinkedIn dans Azure Active Directory B2C (Azure AD B2C), vous devez créer une application dans le site web Des développeurs LinkedIn. Si vous n’avez pas encore de compte LinkedIn, vous pouvez vous inscrire à l’adresse https://www.linkedin.com/.
- Connectez-vous au site web des développeurs LinkedIn avec vos informations d’identification de compte LinkedIn.
- Sélectionnez Mes applications, puis cliquez sur Créer une application.
- Entrez le nom de l’application, la page LinkedIn, l’URL de la stratégie de confidentialité et le logo de l’application.
- Acceptez les conditions d’utilisation de l’API LinkedIn, puis cliquez sur Créer une application.
- Sélectionnez l’onglet Authentification . Sous Clés d’authentification, copiez les valeurs de l’ID client et de la clé secrète client. Vous aurez besoin des deux pour configurer LinkedIn comme fournisseur d'identités dans votre environnement. La clé secrète client est une information d’identification de sécurité importante.
- Sélectionnez le crayon de modification en regard des URL de redirection autorisées pour votre application, puis sélectionnez Ajouter une URL de redirection. Saisissez
https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp
. Si vous utilisez un domaine personnalisé, entrezhttps://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp
. Remplacezyour-tenant-name
par le nom de votre locataire etyour-domain-name
par votre domaine personnalisé. Vous devez utiliser toutes les lettres minuscules lors de la saisie du nom de votre locataire, même si le locataire est défini avec des lettres majuscules dans Azure AD B2C. Sélectionnez Mettre à jour. - Par défaut, votre application LinkedIn n’est pas approuvée pour les autorisations liées à la connexion. Pour demander une révision, sélectionnez l’onglet Produits , puis connectez-vous avec LinkedIn à l’aide d’OpenID Connect. Une fois la révision terminée, les étendues requises sont ajoutées à votre application.
Remarque
Vous pouvez afficher les étendues actuellement autorisées pour votre application sous l’onglet Authentification dans la section Étendues OAuth 2.0 .
Configurer LinkedIn en tant que fournisseur d’identité
- Connectez-vous au portail Azure avec un compte disposant au moins des privilèges d’administrateur du fournisseur d’identité externe .
- 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.
- Sur la page Paramètres du portail | Répertoires + abonnements, recherchez votre répertoire AD B2C Azure dans la liste Nom de répertoire, puis sélectionnez Basculer.
- Choisissez tous les services dans le coin supérieur gauche du portail Azure, recherchez et sélectionnez Azure AD B2C.
- Sélectionnez Fournisseurs d’identité, puis nouveau fournisseur OpenID Connect.
- Saisissez un Nom. Par exemple, LinkedIn-OIDC.
- Pour l’URL des métadonnées, entrez https://www.linkedin.com/oauth/.well-known/openid-configuration.
- Pour l’ID client, entrez l’ID client de l’application LinkedIn que vous avez créée précédemment.
- Pour la clé secrète client, entrez la clé secrète client que vous avez enregistrée.
- Pour l’Étendue, entrez l’e-mail de profil openid.
- Pour le type réponse, entrez le code.
- Pour l’ID d’utilisateur, entrez l’e-mail.
- Pour le nom d'affichage, entrez nom.
- Pour le nom donné, entrez given_name.
- Pour le nom de famille, entrez family_name.
- Pour l’E-mail, entrez e-mail.
- Cliquez sur Enregistrer.
Ajouter un fournisseur d’identité LinkedIn à un flux d’utilisateur
À ce stade, le fournisseur d’identité LinkedIn a été configuré, mais il n’est pas encore disponible dans les pages de connexion. Pour ajouter le fournisseur d’identité LinkedIn à un flux d’utilisateur :
- Dans votre tenant Azure AD B2C, sélectionnez Flux d’utilisateurs.
- Cliquez sur le flux utilisateur dans lequel vous souhaitez ajouter le fournisseur d’identité LinkedIn.
- Sous les fournisseurs d’identité personnalisés, sélectionnez LinkedIn-OIDC.
- Cliquez sur Enregistrer.
- Pour tester votre stratégie, sélectionnez Exécuter le flux utilisateur.
- 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
. - Sélectionnez le bouton Exécuter le flux utilisateur .
- Dans la page d’inscription ou de connexion, sélectionnez LinkedIn-OIDC pour vous connecter avec le compte LinkedIn.
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.
Créer une clé de stratégie
Vous devez stocker la clé secrète client que vous avez enregistrée précédemment dans votre instance Azure AD B2C.
- Connectez-vous au portail Azure.
- 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.
- Sur la page Paramètres du portail | Répertoires + abonnements, recherchez votre répertoire AD B2C Azure dans la liste Nom de répertoire, puis sélectionnez Basculer.
- Choisissez tous les services dans le coin supérieur gauche du portail Azure, puis recherchez et sélectionnez Azure AD B2C.
- Dans la page Vue d’ensemble, sélectionnez Identity Experience Framework.
- Sélectionnez Clés de stratégie , puis sélectionnez Ajouter.
- Pour options, choisissez
Manual
. - Entrez un nom pour la clé de stratégie. Par exemple :
LinkedInSecret
. Le préfixe B2C_1A_ est ajouté automatiquement au nom de votre clé. - Dans Secret, entrez la clé secrète client que vous avez enregistrée précédemment.
- Pour l’utilisation de la clé, sélectionnez
Signature
. - Cliquez sur Créer.
Configurer LinkedIn en tant que fournisseur d’identité
Pour permettre aux utilisateurs de se connecter à l’aide d’un compte LinkedIn, vous devez définir le compte 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é.
Définissez un compte LinkedIn en tant que fournisseur de revendications en l’ajoutant à l’élément ClaimsProviders dans le fichier d’extension de votre stratégie.
Ouvrez le fichier SocialAndLocalAccounts/TrustFrameworkExtensions.xml dans votre éditeur. Ce fichier se trouve dans le pack de démarrage de stratégie personnalisée que vous avez téléchargé dans le cadre de l’une des conditions préalables.
Recherchez l’élément ClaimsProviders . S’il n’existe pas, ajoutez-le sous l’élément racine.
Ajoutez un nouveau ClaimsProvider comme suit :
<ClaimsProvider> <Domain>linkedin.com</Domain> <DisplayName>LinkedIn-OIDC</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="LinkedIn-OIDC"> <DisplayName>LinkedIn</DisplayName> <Protocol Name="OpenIdConnect" /> <Metadata> <Item Key="METADATA">https://www.linkedin.com/oauth/.well-known/openid-configuration</Item> <Item Key="scope">openid profile email</Item> <Item Key="HttpBinding">POST</Item> <Item Key="response_types">code</Item> <Item Key="UsePolicyInRedirectUri">false</Item> <Item Key="client_id">Your LinkedIn application client ID</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_LinkedInSecret" /> </CryptographicKeys> <InputClaims /> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="email" /> <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" /> <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" /> <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="linkedin.com" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" /> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" /> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" /> <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" /> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Remplacez la valeur de client_id par l’ID client de l’application LinkedIn que vous avez enregistrée précédemment.
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.
- Ouvrez le fichier TrustFrameworkBase.xml à partir du pack de démarrage.
- Recherchez et copiez l’intégralité du contenu de l’élément UserJourney qui inclut
Id="SignUpOrSignIn"
. - Ouvrez le TrustFrameworkExtensions.xml et recherchez l’élément UserJourneys . Si l’élément n’existe pas, ajoutez-en un.
- Collez tout le contenu de l’élément UserJourney que vous avez copié en tant qu’enfant de l’élément UserJourneys .
- 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.
Recherchez l’élément d’étape d’orchestration qui inclut
Type="CombinedSignInAndSignUp"
ouType="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.À 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="LinkedInExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="LinkedInExchange" TechnicalProfileReferenceId="LinkedIn-OIDC" />
</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
- Connectez-vous au portail Azure.
- 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.
- Dans le portail Azure, recherchez et sélectionnez Azure AD B2C.
- Sous Stratégies, sélectionnez Identity Experience Framework.
- 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 queSignUpSignIn.xml
.
Tester votre stratégie personnalisée
- Sélectionnez votre stratégie de partie de confiance, par exemple
B2C_1A_signup_signin
. - 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
. - Sélectionnez le bouton Exécuter maintenant .
- Dans la page d’inscription ou de connexion, sélectionnez LinkedIn-OIDC pour vous connecter avec le compte LinkedIn.
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.
Migration de v1.0 vers v2.0
LinkedIn a récemment mis à jour leurs API de v1.0 à v2.0. Pour migrer votre configuration existante vers la nouvelle configuration, utilisez les informations des sections suivantes pour mettre à jour les éléments du profil technique.
Remplacer les éléments dans les métadonnées
Dans l’élément Metadata existant de TechnicalProfile, mettez à jour les éléments Item suivants à partir de :
<Item Key="ClaimsEndpoint">https://api.linkedin.com/v1/people/~:(id,first-name,last-name,email-address,headline)</Item>
<Item Key="scope">r_emailaddress r_basicprofile</Item>
À :
<Item Key="ClaimsEndpoint">https://api.linkedin.com/v2/me</Item>
<Item Key="scope">r_emailaddress r_liteprofile</Item>
Ajouter des éléments aux métadonnées
Dans les métadonnées de TechnicalProfile, ajoutez les éléments Item suivants :
<Item Key="external_user_identity_claim_id">id</Item>
<Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item>
<Item Key="ResolveJsonPathsInJsonTokens">true</Item>
Mettre à jour OutputClaims
Dans les OutputClaims existants de TechnicalProfile, mettez à jour les éléments OutputClaim suivants à partir de :
<OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="firstName" />
<OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="lastName" />
À :
<OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="firstName.localized" />
<OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="lastName.localized" />
Ajouter de nouveaux éléments OutputClaimsTransformation
Dans les OutputClaimsTransformations du TechnicalProfile, ajoutez les éléments OutputClaimsTransformation suivants :
<OutputClaimsTransformation ReferenceId="ExtractGivenNameFromLinkedInResponse" />
<OutputClaimsTransformation ReferenceId="ExtractSurNameFromLinkedInResponse" />
Définir les nouvelles transformations de revendications et le type de revendication
Lors de la dernière étape, vous avez ajouté de nouvelles transformations de revendications qui doivent être définies. Pour définir les transformations de revendications, ajoutez-les à la liste des ClaimsTransformations. Si vous n’avez pas d’élément ClaimsTransformations défini dans votre fichier, ajoutez les éléments XML parents comme indiqué ci-dessous. Les transformations de revendications ont également besoin d’un nouveau type de revendication défini nommé nullStringClaim.
L’élément BuildingBlocks doit être ajouté en haut du fichier. Voir le TrustframeworkBase.xml à titre d’exemple.
<BuildingBlocks>
<ClaimsSchema>
<!-- Claim type needed for LinkedIn claims transformations -->
<ClaimType Id="nullStringClaim">
<DisplayName>nullClaim</DisplayName>
<DataType>string</DataType>
<AdminHelpText>A policy claim to store unuseful output values from ClaimsTransformations. This claim should not be used in a TechnicalProfiles.</AdminHelpText>
<UserHelpText>A policy claim to store unuseful output values from ClaimsTransformations. This claim should not be used in a TechnicalProfiles.</UserHelpText>
</ClaimType>
</ClaimsSchema>
<ClaimsTransformations>
<!-- Claim transformations needed for LinkedIn technical profile -->
<ClaimsTransformation Id="ExtractGivenNameFromLinkedInResponse" TransformationMethod="GetSingleItemFromJson">
<InputClaims>
<InputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="inputJson" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="nullStringClaim" TransformationClaimType="key" />
<OutputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="value" />
</OutputClaims>
</ClaimsTransformation>
<ClaimsTransformation Id="ExtractSurNameFromLinkedInResponse" TransformationMethod="GetSingleItemFromJson">
<InputClaims>
<InputClaim ClaimTypeReferenceId="surname" TransformationClaimType="inputJson" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="nullStringClaim" TransformationClaimType="key" />
<OutputClaim ClaimTypeReferenceId="surname" TransformationClaimType="value" />
</OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
</BuildingBlocks>
Obtenir une adresse e-mail
Dans le cadre de la migration LinkedIn de v1.0 vers v2.0, un appel supplémentaire à une autre API est requis pour obtenir l’adresse e-mail. Si vous devez obtenir l’adresse e-mail lors de l’inscription, procédez comme suit :
Effectuez les étapes ci-dessus pour permettre à Azure AD B2C de fédérer avec LinkedIn pour permettre à l’utilisateur de se connecter. Dans le cadre de la fédération, Azure AD B2C reçoit le jeton d’accès pour LinkedIn.
Enregistrez le jeton d’accès LinkedIn dans une revendication. Consultez les instructions fournies ici.
Ajoutez le fournisseur de revendications suivant qui effectue la requête à l’API LinkedIn
/emailAddress
. Pour autoriser cette demande, vous avez besoin du jeton d’accès LinkedIn.<ClaimsProvider> <DisplayName>REST APIs</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="API-LinkedInEmail"> <DisplayName>Get LinkedIn email</DisplayName> <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <Metadata> <Item Key="ServiceUrl">https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))</Item> <Item Key="AuthenticationType">Bearer</Item> <Item Key="UseClaimAsBearerToken">identityProviderAccessToken</Item> <Item Key="SendClaimsIn">Url</Item> <Item Key="ResolveJsonPathsInJsonTokens">true</Item> </Metadata> <InputClaims> <InputClaim ClaimTypeReferenceId="identityProviderAccessToken" /> </InputClaims> <OutputClaims> <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="elements[0].handle~.emailAddress" /> </OutputClaims> <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Ajoutez l’étape d’orchestration suivante dans votre parcours utilisateur afin que le fournisseur de revendications d’API soit déclenché lorsqu’un utilisateur se connecte à l’aide de LinkedIn. Veillez à mettre à jour le
Order
nombre de manière appropriée. Ajoutez cette étape immédiatement après l’étape d’orchestration qui déclenche le profil technique LinkedIn.<!-- Extra step for LinkedIn to get the email --> <OrchestrationStep Order="3" Type="ClaimsExchange"> <Preconditions> <Precondition Type="ClaimsExist" ExecuteActionsIf="false"> <Value>identityProvider</Value> <Action>SkipThisOrchestrationStep</Action> </Precondition> <Precondition Type="ClaimEquals" ExecuteActionsIf="false"> <Value>identityProvider</Value> <Value>linkedin.com</Value> <Action>SkipThisOrchestrationStep</Action> </Precondition> </Preconditions> <ClaimsExchanges> <ClaimsExchange Id="GetEmail" TechnicalProfileReferenceId="API-LinkedInEmail" /> </ClaimsExchanges> </OrchestrationStep>
L’obtention de l’adresse e-mail auprès de LinkedIn pendant l’inscription est facultative. Si vous choisissez de ne pas obtenir l’e-mail à partir de LinkedIn, mais que vous en avez besoin lors de l’inscription, l’utilisateur doit entrer manuellement l’adresse e-mail et la valider.
Pour obtenir un exemple complet d’une stratégie qui utilise le fournisseur d’identité LinkedIn, consultez le pack de démarrage de stratégie personnalisée.
Migration de v1.0 vers v2.0
LinkedIn a récemment mis à jour leurs API de v1.0 à v2.0. Dans le cadre de la migration, Azure AD B2C ne peut obtenir que le nom complet de l’utilisateur LinkedIn pendant l’inscription. Si une adresse e-mail est l’un des attributs collectés lors de l’inscription, l’utilisateur doit entrer manuellement l’adresse e-mail et la valider.