Configuración de Transmit Security con Azure Active Directory B2C para la autenticación sin contraseña
Artículo
En este tutorial, aprenderá a integrar la autenticación de Azure Active Directory B2C (Azure AD B2C) con BindID de Transmit Security, una solución de autenticación sin contraseña. BindID usa la autenticación sólida biométrica de Fast Identity Online (FIDO2) para obtener una autenticación omnicanal de confianza. La solución garantiza una experiencia de inicio de sesión sin problemas para todos los clientes en todos los dispositivos y canales, al reducir el fraude, la suplantación de identidad (phishing) y la reutilización de credenciales.
Descripción del escenario
En el siguiente diagrama de arquitectura se muestra la implementación.
El usuario abre la página de inicio de sesión de Azure AD B2C e inicia sesión o se registra.
Azure AD B2C redirige al usuario a BindID mediante una solicitud de OpenID Connect (OIDC).
BindID autentica al usuario mediante biométricas FIDO2 sin aplicaciones, como la huella digital.
Se devuelve una respuesta de autenticación descentralizada a BindID.
La respuesta de OIDC se pasa a Azure AD B2C.
Al usuario se le concede o se le deniega el acceso a la aplicación en función de los resultados de la comprobación.
Escriba https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp. Reemplace your-B2C-tenant por el inquilino de Azure AD B2C. Para un dominio personalizado, reemplace your-B2C-tenant-name.b2clogin.com por el dominio personalizado.
Tras el registro, aparecerá un identificador de cliente y un secreto de cliente.
Registre los valores que se van a usar más adelante.
Configuración de BindID como proveedor de identidades en Azure AD B2C
Para obtener las instrucciones siguientes, use el directorio con el inquilino de Azure AD B2C.
Inicie sesión en Azure Portal como administrador global.
Seleccione el icono Directorios y suscripciones en la barra de herramientas del portal.
En la página Configuración del portal | Directorios y suscripciones, en la lista Nombre del directorio, busque el directorio Azure AD B2C.
Seleccione Cambiar.
En la esquina superior izquierda de Azure Portal, seleccione Todos los servicios.
Busque y seleccione Azure AD B2C.
Seleccione Proveedores de identidades.
Seleccione Nuevo proveedor de OpenID Connect.
Escriba un nombre.
En Dirección URL de metadatos, escriba https://signin.bindid-sandbox.io/.well-known/openid-configuration.
En Id. de cliente, escriba el id. de cliente que registró.
En Secreto de cliente, escriba el secreto de cliente que registró.
En Ámbito, escriba el valor de openid email.
En Tipo de respuesta, seleccione código.
En Modo de respuesta, seleccione form_post.
En Asignación de notificaciones del proveedor de identidades, en Id. de usuario, seleccione sub.
En Correo electrónico, seleccione email.
Seleccione Guardar.
Creación de un flujo de usuario
En el inquilino de Azure AD B2C, en Directivas, seleccione Flujos de usuario.
Seleccione Nuevo flujo de usuario.
Seleccione el tipo de flujo de usuario de registro e inicio de sesión.
Seleccione Crear.
Escriba un nombre.
En Proveedores de identidades, en Cuentas locales, seleccione Ninguno. Esta acción deshabilita el correo electrónico y la autenticación basada en contraseña.
En Proveedores de identidades personalizados, seleccione el proveedor de identidades de BindID creado, como Inicio de sesión con BindID.
Seleccione Crear.
Prueba del flujo de usuario
En el inquilino de Azure AD B2C, seleccione Flujos de usuario.
Seleccione el flujo de usuario creado, como B2C_1_signupsignin.
En Aplicación, seleccione la aplicación web que registró. La dirección URL de respuesta es https://jwt.ms.
Seleccione Ejecutar flujo de usuario.
El explorador se redirige la página de inicio de sesión de BindID.
Escriba el correo electrónico de la cuenta registrada.
Realiza la autenticación mediante biométricas FIDO2 sin aplicaciones, como la huella digital.
El explorador se redirige a https://jwt.ms. El contenido aparece para el token devuelto por Azure AD B2C.
Creación de una clave de directiva de BindID
Agregue el secreto de cliente de la aplicación de BindID como clave de directiva. Para obtener las instrucciones siguientes, use el directorio con el inquilino de Azure AD B2C.
Seleccione el icono Directorios y suscripciones en la barra de herramientas del portal.
En la página Configuración del portal | Directorios y suscripciones, en la lista Nombre del directorio, busque el directorio Azure AD B2C.
Seleccione Cambiar.
En la página de información general, en Directivas, seleccione Identity Experience Framework.
Seleccione Claves de directiva.
Seleccione Agregar.
En Opciones, seleccione Manual.
Escriba un nombre. El prefijo B2C_1A_ se anexa al nombre de la clave.
En Secreto, escriba el secreto de cliente que registró.
En Uso de claves, seleccione Firma.
Seleccione Crear.
Configuración de BindID como proveedor de identidades
Para permitir el inicio de sesión con BindID, defina BindID como un proveedor de notificaciones con el que Azure AD B2C se comunica mediante un punto de conexión. El punto de conexión proporciona notificaciones usadas por Azure AD B2C para comprobar un usuario autenticado con una identidad digital en un dispositivo.
Agregue BindID como proveedor de notificaciones. Para comenzar, obtenga los paquetes de inicio de directivas personalizadas en GitHub y, luego, actualice los archivos XML del paquete de inicio SocialAndLocalAccounts con el nombre del inquilino de Azure AD B2C:
En los archivos del directorio LocalAccounts, reemplace la cadena yourtenant por el nombre de inquilino de Azure AD B2C.
Abra LocalAccounts/ TrustFrameworkExtensions.xml.
Busque el elemento ClaimsProviders. Si no apareciera, agréguelo debajo del elemento raíz.
Agregue una nueva instancia de ClaimsProvider similar al ejemplo siguiente:
XML
<ClaimsProvider><Domain>signin.bindid-sandbox.io</Domain><DisplayName>BindID</DisplayName><TechnicalProfiles><TechnicalProfileId="BindID-OpenIdConnect"><DisplayName>BindID</DisplayName><ProtocolName="OpenIdConnect" /><Metadata><ItemKey="METADATA">https://signin.bindid-sandbox.io/.well-known/openid-configuration</Item><!-- Update the Client ID below to the BindID Application ID --><ItemKey="client_id">00000000-0000-0000-0000-000000000000</Item><ItemKey="response_types">code</Item><ItemKey="scope">openid email</Item><ItemKey="response_mode">form_post</Item><ItemKey="HttpBinding">POST</Item><ItemKey="UsePolicyInRedirectUri">false</Item><ItemKey="AccessTokenResponseFormat">json</Item></Metadata><CryptographicKeys><KeyId="client_secret"StorageReferenceId="B2C_1A_BindIDClientSecret" /></CryptographicKeys><OutputClaims><OutputClaimClaimTypeReferenceId="issuerUserId"PartnerClaimType="sub" /><OutputClaimClaimTypeReferenceId="email"PartnerClaimType="email" /><OutputClaimClaimTypeReferenceId="identityProvider"PartnerClaimType="iss" /><OutputClaimClaimTypeReferenceId="authenticationSource"DefaultValue="socialIdpAuthentication"AlwaysUseDefaultValue="true" /></OutputClaims><OutputClaimsTransformations><OutputClaimsTransformationReferenceId="CreateRandomUPNUserName" /><OutputClaimsTransformationReferenceId="CreateUserPrincipalName" /><OutputClaimsTransformationReferenceId="CreateAlternativeSecurityId" /></OutputClaimsTransformations><UseTechnicalProfileForSessionManagementReferenceId="SM-SocialLogin" /></TechnicalProfile></TechnicalProfiles></ClaimsProvider>
Establezca client_id con el identificador de aplicación de BindID que registró.
Seleccione Guardar.
Adición de un recorrido del usuario
El proveedor de identidades no está en las páginas de inicio de sesión. Si tiene un recorrido del usuario personalizado, continúe con Agregar el proveedor de identidades a un recorrido del usuario. De lo contrario, cree un recorrido del usuario de plantilla duplicado:
Abra el archivo LocalAccounts/ TrustFrameworkBase.xml en el paquete de inicio.
Busque y copie el contenido del elemento UserJourney que incluye Id=SignUpOrSignIn.
Abra LocalAccounts/ 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 de recorrido del usuario.
Adición del proveedor de identidades a un recorrido del usuario
Agregue el nuevo proveedor de identidades al recorrido del usuario.
Busque el elemento del paso de orquestación que incluye Type=CombinedSignInAndSignUp o Type=ClaimsProviderSelectionen el recorrido del usuario. Normalmente es el primer paso de orquestación. El elemento ClaimsProviderSelections tiene una lista de proveedores de identidades con los que los usuarios inician sesión. El orden de los elementos determina el orden de los botones de inicio de sesión.
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. Esta acción vincula el botón BindID a BindID-SignIn.
Actualice el valor TechnicalProfileReferenceId al identificador de perfil técnico que haya creado.
El archivo XML siguiente muestra el recorrido del usuario de orquestación con el proveedor de identidades.
Configuración de la directiva de usuario de confianza.
La directiva de usuario de confianza, por ejemplo SignUpSignIn.xml, especifica el recorrido del usuario que ejecuta Azure AD B2C. Puede controlar qué notificaciones se pasan a la aplicación. Para ello, ajuste el elemento OutputClaims del elemento TechnicalProfile de PolicyProfile. En este tutorial, la aplicación recibe los atributos del usuario, como el nombre para mostrar, el nombre propio, los apellidos, el correo electrónico, el identificador de objeto, el proveedor de identidades y el identificador de inquilino.
Descubra cómo Id. externa de Microsoft Entra puede proporcionar experiencias de inicio de sesión seguras y sin problemas para los consumidores y clientes empresariales. Explore la creación de inquilinos, el registro de aplicaciones, la personalización de flujo y la seguridad de la cuenta.
Muestre las características de Microsoft Entra ID para modernizar las soluciones de identidad, implementar soluciones híbridas e implementar la gobernanza de identidades.
Aprenda cómo agregar Trusona Authentication Cloud como un proveedor de identidades en Azure AD B2C para habilitar una experiencia de autenticación sin contraseña "tap-and-go"
Obtenga información sobre cómo integrar una aplicación de pago en línea de ejemplo en Azure AD B2C con la API de Twilio Verify. Cumpla los requisitos de transacciones de PSD2 (Directiva de servicios de pago 2) a través de la vinculación dinámica y la autenticación sólida del cliente.