Configurer la connexion pour une organisation Azure Active Directory spécifique dans Azure Active Directory B2C
Cet article explique comment autoriser la connexion d’utilisateurs à partir d’une organisation Azure AD spécifique en utilisant un flux utilisateur dans Azure AD 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.
Notes
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.
Prérequis
- Créez un flux d’utilisateurs pour permettre aux utilisateurs de s’inscrire et de se connecter à votre application.
- Inscrire une application web.
Vérifier le domaine de l’éditeur de l’application
Depuis novembre 2020, les inscriptions de nouvelles applications s’affichent comme étant non vérifiées dans l’invite de consentement de l’utilisateur, sauf si le domaine de l’éditeur de l’application a été vérifiéet si l’identité de l’entreprise a été vérifiée auprès de Microsoft Partner Network puis associée à l’application. (En savoir plus sur ce changement.) Notez que pour les flux d’utilisateur Azure AD B2C, le domaine de l’éditeur s’affiche uniquement lorsque vous utilisez un compte Microsoft ou un autre locataire Azure AD comme fournisseur d’identité. Pour répondre à ces nouvelles conditions, effectuez les étapes suivantes :
- Vérifiez l’identité de votre entreprise avec votre compte Microsoft Partner Network (MPN). Ce processus vérifie les informations relatives à votre entreprise et au contact principal de votre entreprise.
- Effectuez le processus de vérification de l’éditeur pour associer votre compte MPN à votre inscription d’application à l’aide de l’une des options suivantes :
- Si l’inscription d’application pour le fournisseur d’identité du compte Microsoft se trouve dans un locataire Azure AD, vérifiez votre application dans le portail d’inscription des applications.
- Si votre inscription d’application pour le fournisseur d’identité du compte Microsoft se trouve dans un locataire Azure AD B2C, marquez votre application comme étant validée par l’éditeur à l’aide des API Microsoft Graph (par exemple, à l’aide d’Afficheur Graph). L’interface utilisateur pour la définition de l’éditeur de publication vérifié d’une application est actuellement désactivée pour les locataires Azure AD B2C.
Inscrire une application Azure AD
Pour autoriser la connexion des utilisateurs avec un compte Azure AD d’une organisation Azure AD spécifique, dans Azure Active Directory B2C (Azure AD B2C), vous devez créer une application via le portail Azure. Pour plus d’informations, consultez Inscrire une application auprès de la plateforme d’identités Microsoft.
Connectez-vous au portail Azure.
Veillez à utiliser le répertoire qui contient votre locataire Azure AD de l’organisation (par exemple, Contoso) :
- Sélectionnez l’icône Répertoires + abonnements dans la barre d’outils du portail.
- Sur la page Paramètres du portail | Répertoires + abonnements, recherchez votre répertoire Azure AD dans la liste Nom de répertoire, puis sélectionnez Basculer.
Dans le Portail Azure, recherchez et sélectionnez Azure Active Directory.
Dans le menu de gauche, sous Gérer, sélectionnez Inscriptions d’applications.
Sélectionnez + Nouvelle inscription.
Entrez un nom pour votre application. Par exemple :
Azure AD B2C App
.Acceptez la sélection par défaut de Comptes dans cet annuaire organisationnel uniquement (annuaire par défaut uniquement – Un seul locataire) pour cette application.
Pour le champ URI de redirection, acceptez la valeur Web, puis entrez l’URL suivante en minuscules, où
your-B2C-tenant-name
est remplacé 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
. Remplacezyour-domain-name
par le nom de votre domaine personnalisé etyour-tenant-name
par le nom de votre locataire.Sélectionnez Inscription. Enregistrez l’ID d’application (client) pour l’utiliser dans une étape ultérieure.
Sélectionnez Certificats et secrets, puis sélectionnez Nouveau secret client.
Entrez une description pour le secret, sélectionnez une date d’expiration, puis sélectionnez Ajouter. Enregistrez la Valeur du secret pour l’utiliser à une étape ultérieure.
Configurer Azure AD en tant que fournisseur d’identité
Veillez à bien utiliser le répertoire qui contient le locataire Azure AD B2C. Sélectionnez l’icône Répertoires + abonnements dans la barre d’outils du portail.
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.
Sélectionnez Fournisseurs d’identité, puis Nouveau fournisseur OpenID Connect.
Saisissez un Nom. Par exemple, entrez Contoso Azure AD.
Dans URL des métadonnées, entrez l’URL suivante en remplaçant
{tenant}
par le nom de domaine de votre locataire Azure AD :https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration
Par exemple : https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration
. Si vous utilisez un domaine personnalisé, remplacez contoso.com
par votre domaine personnalisé dans https://login.microsoftonline.com/contoso.com/v2.0/.well-known/openid-configuration
.
Dans ID client, entrez l’ID d’application que vous avez enregistré précédemment.
Pour Clé secrète client, entrez la valeur de clé secrète client que vous avez consignée précédemment.
Pour Étendue, entrez
openid profile
.Conservez les valeurs par défaut pour Type de réponse et Mode de réponse.
(Facultatif) Pour l'Indication de domaine, entrez
contoso.com
. Pour plus d’informations, consultez Configurer la connexion directe avec Azure Active Directory B2C.Sous Mappage des revendications du fournisseur d’identité, sélectionnez les revendications suivantes :
- ID d’utilisateur : oid
- Nom d’affichage : name
- Prénom : given_name
- Nom : family_name
- Adresse e-mail : email
Sélectionnez Enregistrer.
Ajouter le fournisseur d’identité Azure AD à un flux d’utilisateur
À ce stade, le fournisseur d’identité Azure AD a été configuré, mais il n’est encore disponible dans aucune des pages de connexion. Ajouter le fournisseur d’identité Azure AD à un flux d’utilisateur :
- Dans votre locataire Azure AD B2C, sélectionnez Flux d’utilisateur.
- Cliquez sur le flux d’utilisateur auquel vous souhaitez ajouter le fournisseur d’identité Azure AD.
- Sous Paramètres, sélectionnez Fournisseurs d’identité.
- Sous Fournisseurs d’identité personnalisés, sélectionnez Contoso Azure AD.
- Sélectionnez Enregistrer.
- Pour tester votre stratégie, sélectionnez Exécuter le flux d’utilisateur.
- Pour Application, sélectionnez une application web que vous avez précédemment inscrite. L’URL de réponse doit être
https://jwt.ms
. - Sélectionnez le bouton Exécuter le flux d’utilisateur.
- Dans la page d’inscription ou de connexion, sélectionnez Contoso Azure AD pour vous connecter avec un compte Contoso Azure AD.
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éation d’une clé de stratégie
Vous devez stocker la clé d’application que vous avez créée dans votre locataire Azure AD B2C.
- Veillez à bien utiliser l’annuaire qui contient votre locataire Azure AD B2C. Sélectionnez l’icône Répertoires + abonnements dans la barre d’outils du portail.
- 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.
- Sous Stratégies, sélectionnez Identity Experience Framework.
- Sélectionnez Clés de stratégie, puis Ajouter.
- Pour Options, choisissez
Manual
. - Entrez un nom pour la clé de stratégie. Par exemple :
ContosoAppSecret
. Le préfixeB2C_1A_
étant ajouté automatiquement au nom de votre clé lors de sa création, sa référence dans le code XML de la section suivante est à B2C_1A_ContosoAppSecret. - Dans Secret, entrez la valeur de secret client que vous avez enregistrée précédemment.
- Pour Utilisation de la clé, sélectionnez
Signature
. - Sélectionnez Create (Créer).
Configurer Azure AD en tant que fournisseur d’identité
Pour permettre aux utilisateurs de se connecter à l’aide d’un compte Azure AD, vous devez définir Azure AD en tant que fournisseur de revendications avec lequel Azure AD B2C peut communiquer par le biais d’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 Azure AD comme fournisseur de revendications en ajoutant Azure AD à l’élément ClaimsProvider dans le fichier d’extension de votre stratégie.
Ouvrez le fichier TrustFrameworkExtensions.xml.
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>Contoso</Domain> <DisplayName>Login using Contoso</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="AADContoso-OpenIdConnect"> <DisplayName>Contoso Employee</DisplayName> <Description>Login with your Contoso account</Description> <Protocol Name="OpenIdConnect"/> <Metadata> <Item Key="METADATA">https://login.microsoftonline.com/tenant-name.onmicrosoft.com/v2.0/.well-known/openid-configuration</Item> <Item Key="client_id">00000000-0000-0000-0000-000000000000</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> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_ContosoAppSecret"/> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="oid"/> <OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid"/> <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>
Sous l’élément ClaimsProvider, mettez à jour la valeur de Domaine sur une valeur unique qui peut être utilisée pour le distinguer des autres fournisseurs d’identité. Par exemple,
Contoso
. Vous ne placez pas de.com
à la fin de ce paramètre de domaine.Sous l’élément ClaimsProvider, mettez à jour la valeur de DisplayName sur un nom convivial pour le fournisseur de revendications. Cette valeur n’est pas utilisée actuellement.
Mise à jour du profil technique
Pour obtenir un jeton à partir du point de terminaison Azure AD, vous devez définir les protocoles qu’Azure AD B2C doit utiliser pour communiquer avec Azure AD. Cette opération est effectuée dans l’élément TechnicalProfile de ClaimsProvider.
- Mettez à jour l’ID de l’élément TechnicalProfile. Cet ID est utilisé pour faire référence à ce profil technique à partir d’autres parties de la stratégie, par exemple
AADContoso-OpenIdConnect
. - Mettez à jour la valeur de DisplayName. Cette valeur s’affiche sur le bouton Se connecter dans votre écran de connexion.
- Mettez à jour la valeur de Description.
- Azure AD utilisant le protocole OpenID Connect, vérifiez que la valeur de Protocol est bien
OpenIdConnect
. - Définissez la valeur de METADATA sur
https://login.microsoftonline.com/tenant-name.onmicrosoft.com/v2.0/.well-known/openid-configuration
, oùtenant-name
est le nom de votre locataire Azure AD. Par exemple :https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration
- Définissez client_id sur l’ID d’application de l’inscription de l’application.
- Sous CryptographicKeys, mettez à jour la valeur de StorageReferenceId sur le nom de la clé de stratégie que vous avez créée précédemment. Par exemple :
B2C_1A_ContosoAppSecret
.
Ajouter un parcours utilisateur
À ce stade, le fournisseur d’identité a été configuré, mais il n’est encore disponible dans aucune des pages de connexion. Si vous n’avez pas votre propre parcours utilisateur personnalisé, créez un doublon d’un modèle de parcours utilisateur 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 comprenant
Id="SignUpOrSignIn"
. - Ouvrez le fichier TrustFrameworkExtensions.xml, puis recherchez l’élément UserJourneys. Si l’élément n’existe pas, ajoutez-en un.
- Collez l’intégralité du 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"
.
Ajoutez le fournisseur d’identité à un parcours utilisateur
Maintenant que vous disposez d’un parcours utilisateur, ajoutez-y le nouveau fournisseur d’identité. Vous ajoutez d’abord un bouton de connexion, puis vous liez le bouton à une action. L’action représente le profil technique que vous avez créé plus haut.
Recherchez l’élément d’étape d’orchestration comprenant
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 détermine l’ordre des boutons de connexion présentés à l’utilisateur. Ajoutez un élément XML ClaimsProviderSelection. Définissez la valeur TargetClaimsExchangeId sur un nom convivial.À la prochaine étape d’orchestration, 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éé précédemment.
Le code XML suivant montre 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="AzureADContosoExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="AzureADContosoExchange" TechnicalProfileReferenceId="AADContoso-OpenIdConnect" />
</ClaimsExchanges>
</OrchestrationStep>
Configurer la stratégie de partie de confiance
La stratégie de partie de confiance, par exemple SignUpSignIn.xml, spécifie le parcours utilisateur à partir duquel Azure AD B2C s’exécutera. Recherchez l’élément DefaultUserJourney dans la partie de confiance. Mettez à jour la valeur ReferenceId afin qu’elle corresponde à l’ID du parcours utilisateur auquel vous avez ajouté le fournisseur d'identité.
Dans l’exemple suivant, pour le parcours utilisateur CustomSignUpSignIn
, la valeur ReferenceId est définie 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 Annuaire et abonnement dans la barre d’outils du portail, puis sélectionnez l’annuaire qui contient votre locataire Azure AD B2C.
- Dans la 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
, puis la stratégie de la partie de confiance, par exempleSignUpSignIn.xml
.
Tester votre stratégie personnalisée
- Sélectionnez votre stratégie de partie de confiance, par exemple
B2C_1A_signup_signin
. - Pour Application, sélectionnez une application web que vous avez précédemment inscrite. 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 Employé Contoso pour vous connecter avec un compte Contoso Azure AD.
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.
[Facultatif] Configuration de revendications facultatives
Si vous souhaitez obtenir les revendications family_name
et given_name
à partir d'Azure AD, 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 Procédure : Fournir des revendications facultatives à votre application Azure AD.
- Connectez-vous au portail Azure en utilisant le locataire Azure AD de votre organisation. Ou bien, si vous êtes déjà connecté, veillez à utiliser le répertoire qui contient votre locataire Azure AD de l’organisation (par exemple, Contoso) :
- Sélectionnez l’icône Répertoires + abonnements dans la barre d’outils du portail.
- Sur la page Paramètres du portail | Répertoires + abonnements, recherchez votre répertoire Azure AD dans la liste Nom de répertoire, puis sélectionnez Basculer.
- Dans le Portail Azure, recherchez et sélectionnez Azure Active Directory.
- Dans le menu de gauche, sous Gérer, sélectionnez Inscriptions d’applications.
- Sélectionnez dans la liste l’application pour laquelle vous souhaitez configurer des revendications facultatives, telle que
Azure AD B2C App
. - Dans la section Gérer, sélectionnez Configuration de jetons.
- Sélectionnez Ajouter une revendication facultative.
- Dans Type de jeton, sélectionnez ID.
- Sélectionnez les revendications facultatives à ajouter,
family_name
etgiven_name
. - Sélectionnez Ajouter. Si l’option Activer l’autorisation de profil Microsoft Graph (nécessaire pour que les revendications apparaissent dans le jeton) s’affiche, activez-la et sélectionnez une nouvelle fois Ajouter.
[Facultatif] Vérifier l’authenticité de votre application
La vérification de l’éditeur permet aux utilisateurs de s’assurer de l’authenticité de l’application que vous avez inscrite. Une application vérifiée signifie que l’éditeur de l’application a vérifié son identité à l’aide de son Microsoft Partner Network (MPN). Apprenez à marquer votre application avec la mention « éditeur vérifié ».
Étapes suivantes
Découvrez comment transmettre le jeton Azure AD à votre application.