Tutoriel : Configurer IDEMIA Mobile ID avec Azure Active Directory B2C
Avant de commencer
Azure Active Directory B2C (Azure AD B2C) dispose de deux méthodes pour définir l’interaction des utilisateurs avec les applications : les flux d’utilisateurs prédéfinis ou les stratégies personnalisées configurables. Consultez Vue d’ensemble des flux d’utilisateurs et des stratégies personnalisées.
Intégrer Azure AD B2C à IDEMIA Mobile ID
IDEMIA offre des services d’authentification biométrique comme la reconnaissance faciale et l’empreinte digitale, qui permettent de réduire la fraude et la réutilisation des informations d’identification. Avec Mobile ID, les citoyens bénéficient d’un ID numérique fiable et approuvé par l’administration, en complément de leur ID physique. Mobile ID vérifie l’identité en utilisant un code PIN, ID tactile ou ID facial choisi par l’utilisateur. Les citoyens contrôlent leur identité en partageant les informations nécessaires à une transaction. De nombreux organismes publics, comme les Departments of Motor Vehicles (DMV) aux États-Unis, utilisent Mobile ID.
Pour en savoir plus, accédez à idemia.com : IDEMIA
Description du scénario
L’intégration de Mobile ID inclut les composants suivants :
-
Azure AD B2C : serveur d’autorisation qui vérifie les informations d’identification utilisateur.
- Il est également connu sous le nom de fournisseur d’identité (IdP).
- IDEMIA Mobile ID : fournisseur OpenID Connect (OIDC) configuré en tant que fournisseur externe Azure AD B2C.
-
Application IDEMIA Mobile ID : version numérique de votre permis de conduire ou de votre ID émis par l’administration, dans une application sur votre téléphone.
- Consultez IDEMIA Mobile ID.
Mobile ID est un document d’identification numérisé, un jeton d’identité mobile portable que les organismes publics comme les DMV utilisent pour vérifier les identités des individus. L’ID numérisé et signé est stocké sur le téléphone portable de l’utilisateur en tant qu’identité à la périphérie. Les informations d’identification signées facilitent l’accès aux services d’identité comme la preuve d’âge, la reconnaissance de votre client pour des opérations financières et l’accès à des comptes, etc.
Le diagramme suivant illustre les flux d’inscription et de connexion d’utilisateurs avec Mobile ID.
- L’utilisateur visite la page de connexion Azure AD B2C (la partie qui répond), avec son appareil et Mobile ID, pour effectuer une transaction.
- Azure AD B2C effectue une vérification d’ID. Il redirige l’utilisateur vers le routeur IDEMIA avec un flux de code d’autorisation OIDC.
- Le routeur envoie une demande de données biométriques à l’application mobile de l’utilisateur avec les détails de la requête d’authentification et d’autorisation.
- En fonction de la sécurité, l’utilisateur peut être invité à fournir d’autres détails : entrer un code PIN, prendre un selfie en direct ou les deux.
- La réponse d’authentification fournit la preuve de possession, de présence et de consentement. La réponse est retournée au routeur.
- Le routeur vérifie les informations de l’utilisateur et répond à Azure AD B2C avec le résultat.
- L’accès est accordé ou refusé à l’utilisateur.
Activer Mobile ID
Pour bien démarrer, accédez à la page Nous contacter du site idemia.com pour demander une version de démonstration. Dans le champ de texte du formulaire de demande, indiquez votre intérêt pour l’intégration d’Azure AD B2C.
Intégrer Mobile ID à Azure AD B2C
Utilisez les sections suivantes pour préparer et effectuer des processus d’intégration.
Prérequis
Pour commencer, vous avez besoin des éléments suivants :
Accès aux utilisateurs disposant d’informations d’identification IDEMIA Mobile ID (mID) émises par l’État américain
- Ou pendant la phase de test, application de démonstration mID d’IDEMIA
Un abonnement Azure
- Si vous n’en avez pas déjà un, procurez-vous un compte Azure gratuit.
Un locataire Azure AD B2C associé à l’abonnement Azure
Votre application web métier inscrite dans un locataire Azure AD B2C
- Pour les tests, configurez https://jwt.ms, une application web Microsoft avec le contenu du jeton décodé.
Notes
Le contenu du jeton ne quitte pas votre navigateur.
Envoyer une application de partie de confiance pour mID
Lors de l’intégration de Mobile ID, les informations suivantes sont fournies.
Propriété | Description |
---|---|
Nom de l’application | Azure AD B2C ou un autre nom d’application |
Client_ID | Identificateur unique du fournisseur d’identité (IdP) |
Clé secrète client | Mot de passe utilisé par l’application de la partie de confiance pour s’authentifier auprès du fournisseur d’identité IDEMIA |
Point de terminaison de métadonnées | URL qui pointe vers un document de configuration d’émetteur de jeton, également appelé point de terminaison de configuration OpenID connu |
URI de redirection | 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 . |
URI de redirection de la déconnexion après la déconnexion | https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/{policy}/oauth2/v2.0/logout Envoyez une requête de déconnexion. |
Notes
Vous avez besoin de l’ID client et de la clé secrète client plus tard pour configurer le fournisseur d’identité dans Azure AD B2C.
Création d’une clé de stratégie
Stockez la clé secrète client IDEMIA que vous avez notée dans votre locataire Azure AD B2C. Pour les instructions suivantes, utilisez l’annuaire qui contient votre locataire Azure AD B2C.
- Connectez-vous au portail Azure.
- Dans la barre d’outils du portail, sélectionnez Répertoires + abonnements.
- Dans la page Paramètres du portail | Répertoires + abonnements, dans la liste Nom d’annuaire, recherchez votre annuaire Azure AD B2C.
- Sélectionnez Changer.
- Dans l’angle supérieur gauche du portail Azure, sélectionnez Tous les services.
- Recherchez et sélectionnez Azure AD B2C.
- Dans la page de présentation, sélectionnez Identity Experience Framework.
- Sélectionnez Clés de stratégie.
- Sélectionnez Ajouter.
- Dans Options, choisissez Manuel.
- Entrez un nom pour la clé de stratégie. Par exemple :
IdemiaAppSecret
. Le préfixeB2C_1A_
est ajouté au nom de clé. - Dans Secret, entrez la clé secrète client que vous avez notée.
- Pour Utilisation de la clé, sélectionnez Signature.
- Sélectionnez Create (Créer).
Configurer Mobile ID en tant que fournisseur d’identité externe
Pour permettre aux utilisateurs de se connecter avec Mobile ID, définissez IDEMIA en tant que fournisseur de revendications. Cette action garantit qu’Azure AD B2C communique par le biais d’un point de terminaison, qui fournit les revendications utilisées par Azure AD B2C pour vérifier l’authentification de l’utilisateur avec des données biométriques.
Pour définir IDEMIA comme fournisseur de revendications, ajoutez-le à l’élément ClaimsProvider dans le fichier d’extension de la stratégie.
<TechnicalProfile Id="Idemia-Oauth2">
<DisplayName>IDEMIA</DisplayName>
<Description>Login with your IDEMIA identity</Description>
<Protocol Name="OAuth2" />
<Metadata>
<Item Key="METADATA">https://idp.XXXX.net/oxauth/.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 id_basic mt_scope</Item>
<Item Key="response_mode">form_post</Item>
<Item Key="HttpBinding">POST</Item>
<Item Key="UsePolicyInRedirectUri">false</Item>
<Item Key="token_endpoint_auth_method">client_secret_basic</Item>
<Item Key="ClaimsEndpoint">https://idp.XXXX.net/oxauth/restv1/userinfo</Item>
<Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item>
</Metadata>
<CryptographicKeys>
<Key Id="client_secret" StorageReferenceId="B2C_1A_IdemiaAppSecret" />
</CryptographicKeys>
<InputClaims>
<InputClaim ClaimTypeReferenceId="acr" PartnerClaimType="acr_values" DefaultValue="loa-2" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
<OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid" />
<OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="firstName1" />
<OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="lastName1" />
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
<OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="idemia" />
<OutputClaim ClaimTypeReferenceId="documentId" />
<OutputClaim ClaimTypeReferenceId="address1" />
</OutputClaims>
<OutputClaimsTransformations>
<OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
<OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
<OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
<OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
</OutputClaimsTransformations>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
</TechnicalProfile>
Définissez client_id sur l’ID d’application de l’inscription de l’application.
Propriété | Description |
---|---|
Étendue | Pour OpenID Connect (OIDC), la configuration minimale nécessaire consiste à définir le paramètre d’étendue sur openid. Ajoutez d’autres étendues sous la forme d’une liste délimitée par des espaces. |
redirect_uri | Cet emplacement correspond à celui où l’agent utilisateur envoie le code d’autorisation à Azure AD B2C. |
response_type | Pour le flux de code d’autorisation, sélectionnez code. |
acr_values | Ce paramètre contrôle les méthodes d’authentification que l’utilisateur doit exécuter pendant l’authentification. |
Sélectionnez l'une des valeurs suivantes :
Valeur du paramètre | Effet sur le processus d’authentification de l’utilisateur |
---|---|
loa-2 |
Authentification multifacteur Microsoft Entra basée sur le chiffrement uniquement |
loa-3 |
Authentification multifacteur basée sur le chiffrement, plus un autre facteur |
loa-4 |
Authentification multifacteur basée sur le chiffrement, plus une authentification biométrique et par code PIN effectuée par l’utilisateur |
Le point de terminaison /userinfo fournit les revendications pour la ou les étendues demandées dans la demande d’autorisation. Pour <mt_scope>, il existe des revendications comme le prénom, le nom de famille et le numéro du permis de conduire, entre autres éléments. Le jeu de revendications d’une étendue est publié dans la section scope_to_claims_mapping de l’API de découverte. Azure AD B2C demande des revendications auprès du point de terminaison des revendications et les retourne dans l’élément OutputClaims. Vous aurez peut-être besoin de mapper le nom de la revendication dans votre stratégie à celui figurant dans le fournisseur d’identité. Définissez le type de revendication dans l’élément ClaimSchema :
<ClaimType Id="documentId">
<DisplayName>documentId</DisplayName>
<DataType>string</DataType>
</ClaimType>
<ClaimType Id="address1">
<DisplayName>address</DisplayName>
<DataType>string</DataType>
</ClaimType>
Ajouter un parcours utilisateur
Pour ces instructions, le fournisseur d’identité est configuré, mais il ne figure dans aucune page de connexion. Si vous n’avez pas de parcours utilisateur personnalisé, copiez un modèle de parcours utilisateur.
- Dans le pack de démarrage, ouvrez le fichier
TrustFrameworkBase.xml
. - Localisez et copiez le contenu de l’élément
UserJourneys
, qui inclutID=SignUpOrSignIn
. - Ouvrez le fichier
TrustFrameworkExtensions.xml
. - Repérez l’élément UserJourneys. S’il n’y a aucun élément, ajoutez-en un.
- Collez le contenu de l’élément UserJourney 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
S’il existe un parcours utilisateur, ajoutez-y le nouveau fournisseur d’identité. Commencez par ajouter un bouton de connexion, puis liez-le à une action, qui correspond au profil technique que vous avez créé.
- Dans le parcours utilisateur, repérez l’élément d’étape d’orchestration avec Type=
CombinedSignInAndSignUp
ou Type=ClaimsProviderSelection
. Il s’agit généralement de la première étape d’orchestration. L’élément ClaimsProviderSelections a une liste idP avec laquelle les utilisateurs se connectent. L’ordre des éléments contrôle l’ordre des boutons de connexion vus par l’utilisateur. - Ajoutez un élément XML ClaimsProviderSelection.
- Utilisez un nom convivial pour la valeur TargetClaimsExchangeId.
- Ajoutez un élément ClaimsExchange.
- Définissez l’ID sur la valeur de l’ID cible d’échange des revendications.
- Mettez à jour la valeur TechnicalProfileReferenceId sur l’ID de profil technique que vous avez créé.
Le code XML suivant montre les deux premières étapes de l’orchestration d’un parcours utilisateur avec le fournisseur d’identité :
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="IdemiaExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="IdemiaExchange" TechnicalProfileReferenceId="Idemia-Oauth2" />
</ClaimsExchanges>
</OrchestrationStep>
Configurer la stratégie de partie de confiance
La stratégie de la partie de confiance, par exemple SignUpSignIn.xml, spécifie le parcours utilisateur exécuté par Azure AD B2C.
- Recherchez l’élément DefaultUserJourney dans la partie de confiance.
- Mettez à jour ReferenceId afin qu’il corresponde à l’ID du parcours utilisateur auquel vous avez ajouté le fournisseur d’identité.
Dans l’exemple suivant, pour le parcours utilisateur CustomSignUpOrSignIn
, la ReferenceId est défini sur CustomSignUpOrSignIn
.
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
Téléchargez la stratégie personnalisée
Pour les instructions suivantes, utilisez l’annuaire qui contient votre locataire Azure AD B2C.
Connectez-vous au portail Azure.
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, dans la liste Nom de répertoire, recherchez votre répertoire Azure AD B2C.
Sélectionnez Changer.
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.
Chargez dans l’ordre suivant les deux fichiers de stratégie que vous avez modifiés :
- La stratégie d’extension, par exemple
TrustFrameworkExtensions.xml
- La stratégie de la partie de confiance comme
SignUpSignIn.xml
- La stratégie d’extension, par exemple
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 inscrite.
-
https://jwt.ms
apparaît pour URL de réponse. - Sélectionnez Exécuter maintenant.
- Dans la page d’inscription ou de connexion, sélectionnez IDEMIA.
- Le navigateur est redirigé vers
https://jwt.ms
. Observez le contenu du jeton retourné par Azure AD B2C.
En savoir plus : Tutoriel : Inscrire une application web dans Azure AD B2C