Compartir a través de


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.

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.

Diagrama de los flujos de usuario de registro e inicio de sesión con Mobile ID.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. El enrutador comprueba la información del usuario y envía la respuesta a Azure AD B2C con el resultado.
  7. 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

  • 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.

  1. Inicie sesión en Azure Portal.
  2. En la barra de herramientas del portal, seleccione Directorios y suscripciones.
  3. En la página Configuración del portal, Directorios y suscripciones, en la lista Nombre del directorio, busque su directorio Azure AD B2C.
  4. Seleccione Cambiar.
  5. En la esquina superior izquierda de Azure Portal, seleccione Todos los servicios.
  6. Busque y seleccione Azure AD B2C.
  7. En la página de introducción, seleccione Identity Experience Framework.
  8. Seleccione Claves de directiva.
  9. Seleccione Agregar.
  10. En Opciones, elija Manual.
  11. Escriba un nombre para la clave de directiva. Por ejemplo, IdemiaAppSecret. El prefijo B2C_1A_ se agrega al nombre de la clave.
  12. En Secreto, escriba el secreto de cliente que anotó.
  13. En Uso de la clave, seleccione Firma.
  14. 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.

  1. En el paquete de inicio, abra el archivo TrustFrameworkBase.xml.
  2. Busque y copie el contenido del elemento UserJourneys, que contiene ID=SignUpOrSignIn.
  3. Abra TrustFrameworkExtensions.xml.
  4. Busque el elemento UserJourneys. Si no hay ningún elemento, agregue uno.
  5. Pegue el contenido del elemento UserJourney como elemento secundario del elemento UserJourneys.
  6. 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.

  1. En el recorrido del usuario, localice el elemento del paso de orquestación cuyo tipo es CombinedSignInAndSignUp o ClaimsProviderSelection. 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.
  2. Agregue un elemento XML ClaimsProviderSelection.
  3. Establezca el valor de TargetClaimsExchangeId en un nombre descriptivo.
  4. Agregue un elemento ClaimsExchange.
  5. Establezca el id. en el valor del id. de intercambio de notificaciones de destino.
  6. 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.

  1. Busque el elemento DefaultUserJourney en el usuario de confianza.
  2. 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.

  1. Inicie sesión en Azure Portal.

  2. En la barra de herramientas del portal, seleccione Directorios y suscripciones.

  3. En la página Configuración del portal, Directorios + suscripciones, en la lista Nombre del directorio, busque su directorio Azure AD B2C.

  4. Seleccione Cambiar.

  5. En Azure Portal, busque y seleccione Azure AD B2C.

  6. En Directivas, seleccione Identity Experience Framework.

  7. Seleccione Cargar directiva personalizada.

  8. 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.

Prueba de la directiva personalizada

  1. Seleccione la directiva de usuarios de confianza, por ejemplo B2C_1A_signup_signin.
  2. En Aplicación, seleccione una aplicación web que haya registrado.
  3. En Dirección URL de respuesta, aparece https://jwt.ms.
  4. Seleccione Ejecutar ahora.
  5. En la página de registro o inicio de sesión, seleccione IDEMIA.
  6. 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

Pasos siguientes