Tutorial: Configuración de IDEMIA Mobile ID con Azure Active Directory B2C
Antes de empezar
Azure Active Directory B2C (Azure AD B2C) tiene dos métodos para definir la interacción de los usuarios con las aplicaciones: los flujos de usuario predefinidos o las directivas personalizadas, que se pueden configurar. Consulte Información general sobre los flujos de usuario y las directivas personalizadas
Integración de Azure AD B2C con IDEMIA Mobile ID
IDEMIA ofrece servicios de autenticación biométrica, como huellas dactilares y el rostro, lo que reduce los fraudes y la reutilización de credenciales. Con Mobile ID, los ciudadanos disponen de un identificador digital de confianza emitido por la Administración que sirve de complemento a su identificador físico. Mobile ID verifica la identidad utilizando un PIN seleccionado por el usuario, un identificador táctil o un identificador del rostro. En cada transacción, los ciudadanos controlan sus identidades compartiendo la información necesaria. Muchos departamentos estatales de vehículos motorizados (DMV) usan Mobile ID.
Para más información, vaya a idemia.com: IDEMIA
Descripción del escenario
La integración de Mobile ID incluye los siguientes componentes:
-
Azure AD B2C: servidor de autorización que comprueba las credenciales del usuario.
- También se conoce como proveedor de identidades (IdP).
- IDEMIA Mobile ID: proveedor de OpenID Connect (OIDC) configurado como proveedor externo de Azure AD B2C.
-
Aplicación IDEMIA Mobile ID: versión digital de un permiso de conducir o un identificador estatal para una aplicación del teléfono.
- Consulte IDEMIA Mobile ID
Mobile ID es un documento de identificación digitalizado, un token de identidad móvil portátil que usan las DMV para comprobar las identidades de los individuos. El identificador digitalizado firmado se almacena en los teléfonos móviles de los usuarios como una identidad perimetral. Las credenciales firmadas facilitan el acceso a los servicios de identidad, como pruebas de edad, conocimientos financieros del cliente, acceso a la cuenta, etc.
En el diagrama siguiente, se muestran los flujos de usuario de registro e inicio de sesión con Mobile ID.
- El usuario visita la página de inicio de sesión de Azure AD B2C (la entidad de respuesta) con su dispositivo y Mobile ID para realizar una transacción.
- Azure AD B2C realiza una comprobación del identificador. El usuario se envía al enrutador de IDEMIA con un flujo de código de autorización OIDC.
- El enrutador envía una prueba biométrica a la aplicación móvil del usuario con detalles de la solicitud de autenticación y autorización.
- En función de la seguridad, es posible que se le pida al usuario que proporcione más detalles: que escriba un PIN, se haga un selfi en directo o las dos cosas.
- La respuesta de autenticación proporciona pruebas de la posesión, la presencia y el consentimiento. La respuesta se envía de vuelta al enrutador.
- El enrutador comprueba la información del usuario y envía la respuesta a Azure AD B2C con el resultado.
- Se concede o se deniega el acceso al usuario.
Habilitación de Mobile ID
Para empezar, vaya a la página Get in touch (Contacto) de idemia.com para solicitar una demostración. En el campo de texto del formulario de solicitud, indique su interés en la integración de Azure AD B2C.
Integración de Mobile ID con Azure AD B2C
Consulte las secciones siguientes para prepararse y realizar los procesos de integración.
Prerrequisitos
Para empezar, necesitará lo siguiente:
Acceso a los usuarios con una credencial Mobile ID (mID) de IDEMIA emitida por un estado de EE. UU.
- O durante la fase de prueba, la aplicación de demostración mID de IDEMIA
Una suscripción de Azure
- Si no tiene una, obtenga una cuenta gratuita de Azure.
Un inquilino de Azure AD B2C vinculado a la suscripción de Azure
La aplicación web empresarial registrada en un inquilino de Azure AD B2C
- Para realizar pruebas, configure https://jwt.ms, una aplicación web de Microsoft con contenido de token descodificado.
Nota
El contenido del token no sale del explorador.
Envío de una aplicación de usuario de confianza para mID
Durante la integración de Mobile ID, se proporciona la siguiente información.
Propiedad | Descripción |
---|---|
Nombre de la aplicación | Azure AD B2C u otro nombre de aplicación |
Identificador del cliente | Identificador único del proveedor de identidades (IdP) |
Secreto del cliente | Contraseña que la aplicación del usuario de confianza utilizará para autenticarse con el IdP de IDEMIA |
Punto de conexión de metadatos | Dirección URL que apunta a un documento de configuración del emisor del token, que es un punto de conexión de configuración conocido de OpenID |
URI de redirección | https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp Por ejemplo: https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp Si usa un dominio personalizado, escriba https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp . |
URI de redireccionamiento tras el cierre de sesión | https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/{policy}/oauth2/v2.0/logout Envío de una solicitud de cierre de sesión. |
Nota
Más adelante, necesitará el identificador de cliente y el secreto de cliente para configurar el IdP en Azure AD B2C.
Creación de una clave de directiva
Guarde el secreto de cliente de IDEMIA anotado en el inquilino de Azure AD B2C. En las siguientes instrucciones, use el directorio con el inquilino de Azure AD B2C.
- Inicie sesión en Azure Portal.
- En la barra de herramientas del portal, seleccione Directorios y suscripciones.
- En la página Configuración del portal, Directorios y suscripciones, en la lista Nombre del directorio, busque su directorio Azure AD B2C.
- Seleccione Cambiar.
- En la esquina superior izquierda de Azure Portal, seleccione Todos los servicios.
- Busque y seleccione Azure AD B2C.
- En la página de introducción, seleccione Identity Experience Framework.
- Seleccione Claves de directiva.
- Seleccione Agregar.
- En Opciones, elija Manual.
- Escriba un nombre para la clave de directiva. Por ejemplo,
IdemiaAppSecret
. El prefijoB2C_1A_
se agrega al nombre de la clave. - En Secreto, escriba el secreto de cliente que anotó.
- En Uso de la clave, seleccione Firma.
- Seleccione Crear.
Configuración de Mobile ID como IdP externo
Para permitir que los usuarios puedan iniciar sesión con Mobile ID, defina IDEMIA como proveedor de notificaciones. Esta acción garantiza que Azure AD B2C se comunique a través de un punto de conexión, que proporciona notificaciones que Azure AD B2C usa para verificar la autenticación del usuario con biometría.
Para definir IDEMIA como proveedor de notificaciones, agréguelo al elemento ClaimsProvider en el archivo de extensión de la directiva.
<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>
Establezca client_id en el identificador de la aplicación desde el registro de aplicación.
Propiedad | Descripción |
---|---|
Ámbito | En el caso de OpenID Connect (OIDC), el requisito mínimo es establecer el parámetro scope en openid. Anexe más ámbitos en una lista delimitada por espacios. |
redirect_uri | Esta ubicación es donde el agente del usuario devuelve el código de autorización a Azure AD B2C. |
response_type | En el flujo del código de autenticación, seleccione code |
acr_values | Este parámetro controla los métodos que el usuario debe realizar durante la autenticación. |
Seleccione uno de los siguientes valores:
Valor del parámetro | Efecto en el proceso de autenticación del usuario |
---|---|
loa-2 |
Solo autenticación multifactor basada en criptografía Microsoft Entra |
loa-3 |
MFA basada en criptografía, además de otro factor |
loa-4 |
MFA basada en criptografía, además del PIN y la autenticación biométrica del usuario |
El punto de conexión /userinfo proporciona las notificaciones para los ámbitos solicitados en la solicitud de autorización. En el caso de <mt_scope>, las notificaciones son, entre otras, el nombre, los apellidos y el número del permiso de conducir. Las notificaciones establecidas para cualquier ámbito se publican en la sección scope_to_claims_mapping de la API de detección. Azure AD B2C solicita las notificaciones desde el punto de conexión de notificación y las devuelve en el elemento OutputClaims. Es posible que tenga que asignar el nombre de la notificación que figura en la directiva al nombre que figura en el IdP. Defina el tipo de notificación en el elemento ClaimSchema:
<ClaimType Id="documentId">
<DisplayName>documentId</DisplayName>
<DataType>string</DataType>
</ClaimType>
<ClaimType Id="address1">
<DisplayName>address</DisplayName>
<DataType>string</DataType>
</ClaimType>
Adición de un recorrido del usuario
En estas instrucciones, el IdP está configurado, pero no está en ninguna página de inicio de sesión. Si no tiene un recorrido del usuario personalizado, copie uno de una plantilla.
- En el paquete de inicio, abra el archivo
TrustFrameworkBase.xml
. - Busque y copie el contenido del elemento
UserJourneys
, que contieneID=SignUpOrSignIn
. - Abra
TrustFrameworkExtensions.xml
. - Busque el elemento UserJourneys. Si no hay ningún elemento, agregue uno.
- Pegue el contenido del elemento UserJourney como elemento secundario del elemento UserJourneys.
- Cambie el nombre del identificador del recorrido del usuario. Por ejemplo,
ID=CustomSignUpSignIn
.
Adición del IdP a un recorrido del usuario
Si hay un recorrido del usuario, agréguele el nuevo IdP. En primer lugar, agregue un botón de inicio de sesión y, a continuación, vincúlelo a una acción, que es el perfil técnico que ha creado.
- En el recorrido del usuario, localice el elemento del paso de orquestación cuyo tipo es
CombinedSignInAndSignUp
oClaimsProviderSelection
. Normalmente es el primer paso de orquestación. El elemento ClaimsProviderSelections tiene una lista de IdP con los que los usuarios inician sesión. El orden de los elementos controla el orden de los botones de inicio de sesión que ve el usuario. - Agregue un elemento XML ClaimsProviderSelection.
- Establezca el valor de TargetClaimsExchangeId en un nombre descriptivo.
- Agregue un elemento ClaimsExchange.
- Establezca el id. en el valor del id. de intercambio de notificaciones de destino.
- Actualice el valor TechnicalProfileReferenceId al identificador de perfil técnico que haya creado.
En el siguiente código XML se muestran los dos primeros pasos de orquestación de un recorrido del usuario con el IdP:
<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>
Configuración de la directiva de usuario de confianza.
La directiva del usuario de confianza (por ejemplo, SignUpSignIn.xml) especifica el recorrido del usuario que se ejecuta en Azure AD B2C.
- Busque el elemento DefaultUserJourney en el usuario de confianza.
- Actualice ReferenceId para que coincida con el identificador del recorrido del usuario, en el que agregó el IdP.
En el ejemplo siguiente, para el recorrido de usuario CustomSignUpOrSignIn
, ReferenceId está establecido en CustomSignUpOrSignIn
.
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
Carga de la directiva personalizada
Para obtener las instrucciones siguientes, use el directorio con el inquilino de Azure AD B2C.
Inicie sesión en Azure Portal.
En la barra de herramientas del portal, seleccione Directorios y suscripciones.
En la página Configuración del portal, Directorios + suscripciones, en la lista Nombre del directorio, busque su directorio Azure AD B2C.
Seleccione Cambiar.
En Azure Portal, busque y seleccione Azure AD B2C.
En Directivas, seleccione Identity Experience Framework.
Seleccione Cargar directiva personalizada.
Cargue los dos archivos de directivas modificados en el orden siguiente:
- La directiva de extensión, por ejemplo
TrustFrameworkExtensions.xml
- La directiva de usuario de confianza, como
SignUpSignIn.xml
.
- La directiva de extensión, por ejemplo
Prueba de la directiva personalizada
- Seleccione la directiva de usuarios de confianza, por ejemplo
B2C_1A_signup_signin
. - En Aplicación, seleccione una aplicación web que haya registrado.
- En Dirección URL de respuesta, aparece
https://jwt.ms
. - Seleccione Ejecutar ahora.
- En la página de registro o inicio de sesión, seleccione IDEMIA.
- El explorador se redirige a
https://jwt.ms
. Consulte el contenido del token devuelto por Azure AD B2C.
Más información: Tutorial: Registro de una aplicación web en Azure AD B2C