Configurer l’inscription et la connexion avec un compte ID.me à l’aide d’Azure Active Directory 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.
Cette fonctionnalité est disponible uniquement pour les stratégies personnalisées. Pour accéder aux étapes de configuration, sélectionnez Stratégie personnalisée dans le sélecteur précédent.
Prérequis
- Suivez les étapes dans Prise en main des stratégies personnalisées dans Azure Active Directory B2C.
- Si ce n’est pas déjà fait, inscrivez une application web.
Créer une application ID.me
Pour permettre la connexion des utilisateurs avec un compte ID.me dans Azure Active Directory B2C (Azure AD B2C), vous devez créer une application dans les ressources développeur ID.me pour API et Kit de développement logiciel (SDK). Pour plus d’informations, consultez le Guide d’intégration OAuth. Si vous ne disposez pas encore d’un compte ID.me, vous pouvez en créer un à l’adresse https://developers.id.me/registration/new.
- Connectez-vous aux ressources développeur ID.me pour API et Kit de développement logiciel (SDK) avec les informations d’identification de votre compte ID.me.
- Sélectionnez Afficher mes applications, puis sélectionnez Continuer.
- Sélectionnez Créer
- Entrez un nom et un nom d’affichage.
- Dans l’URI de redirection, entrez
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 le nom de votre domaine personnalisé.
- Cliquez sur Continuer.
- Copiez les valeurs de ID client et Clé secrète client. Vous avez besoin des deux pour ajouter le fournisseur d’identité à votre locataire.
Création d’une clé de stratégie
Vous devez stocker la clé secrète client que vous avez enregistrée dans votre locataire Azure AD B2C.
- Connectez-vous au portail Azure.
- Si vous avez accès à plusieurs locataires, sélectionnez l’icône Paramètres dans le menu supérieur pour basculer vers votre locataire Azure AD B2C à partir du menu Annuaires + abonnements.
- Choisissez Tous les services dans le coin supérieur gauche du portail Azure, puis recherchez et sélectionnez Azure AD B2C.
- Dans la page de vue d’ensemble, sélectionnez Infrastructure d’expérience d’identité.
- Sélectionnez Clés de stratégie, puis Ajouter.
- Pour Options, choisissez
Manual
. - Entrez un nom pour la clé de stratégie. Par exemple :
IdMeSecret
. Le préfixeB2C_1A_
est ajouté automatiquement au nom de votre clé. - Dans Secret, entrez la clé secrète client que vous avez enregistrée.
- Pour Utilisation de la clé, sélectionnez
Signature
. - Cliquez sur Créer.
Configurer ID.me en tant que fournisseur d’identité
Pour permettre aux utilisateurs de se connecter avec un compte ID.me, 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é.
Vous pouvez définir un compte ID.me 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 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>id.me</Domain> <DisplayName>ID.me</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="IdMe-OAuth2"> <DisplayName>IdMe</DisplayName> <Protocol Name="OAuth2" /> <Metadata> <Item Key="ProviderName">api.id.me</Item> <Item Key="authorization_endpoint">https://api.id.me/oauth/authorize</Item> <Item Key="AccessTokenEndpoint">https://api.id.me/oauth/token</Item> <Item Key="ClaimsEndpoint">https://api.id.me/api/public/v2/attributes.json</Item> <Item Key="HttpBinding">POST</Item> <Item Key="scope">openid alumni</Item> <Item Key="UsePolicyInRedirectUri">0</Item> <!-- Update the Client ID below to the Application ID --> <Item Key="client_id">Your ID.me application ID</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_IdMeSecret"/> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="uuid" /> <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="fname" /> <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="lname" /> <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" /> <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" /> <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="me.id.com" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" /> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" /> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" /> <OutputClaimsTransformation ReferenceId="CreateDisplayNameFromFirstNameAndLastName" /> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Définissez client_id sur l’ID d’application de l’inscription de l’application.
Enregistrez le fichier .
Ajouter les transformations de revendications
Ensuite, vous avez besoin d’une transformation de revendications pour créer la revendication displayName. Ajoutez la transformation de revendications suivante à l'élément <ClaimsTransformations>
dans <BuildingBlocks>
.
<ClaimsTransformations>
<ClaimsTransformation Id="CreateDisplayNameFromFirstNameAndLastName" TransformationMethod="FormatStringMultipleClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="inputClaim1" />
<InputClaim ClaimTypeReferenceId="surName" TransformationClaimType="inputClaim2" />
</InputClaims>
<InputParameters>
<InputParameter Id="stringFormat" DataType="string" Value="{0} {1}" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="displayName" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
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="IdMeExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="IdMeExchange" TechnicalProfileReferenceId="IdMe-OAuth2" />
</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.
- Sur la page d'inscription ou de connexion, sélectionnez ID.me pour vous connecter avec un compte ID.me.
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.