Tutorial para configurar Nevis con Azure Active Directory B2C para la autenticación sin contraseña

En este tutorial, aprenderá a habilitar la autenticación sin contraseña en Azure Active Directory B2C (Azure AD B2C) con la aplicación Nevis Access para habilitar la autenticación del cliente y cumplir los requisitos de transacción de la Directiva de servicios de pago 2 (PSD2). PSD2 es una directiva de la Unión Europea (UE), administrada por la Comisión Europea (Dirección General de Mercado Interior) para regular los servicios de pago y los proveedores de servicios de pago en toda la UE y el Espacio Económico Europeo (EEE).

Requisitos previos

Para empezar, necesitará lo siguiente:

Nota:

Para integrar Nevis en el flujo de directivas de registro, configure el entorno de Azure AD B2C para usar directivas personalizadas.
Consulte, Tutorial: Creación de flujos de usuario y directivas personalizadas en Azure Active Directory B2C.

Descripción del escenario

Agregue la aplicación Access con marca a la aplicación back-end para la autenticación sin contraseña. En la solución, se incluyen los componentes siguientes:

  • Inquilino de Azure AD B2C con una directiva combinada de inicio de sesión y registro para su back-end
  • La instancia de Nevis y su API de REST para mejorar Azure AD B2C
  • Aplicación de Access con marca

En el diagrama se muestra la implementación.

Diagrama que muestra el flujo de inicio de sesión de contraseña de alto nivel con Azure AD B2C y Nevis.

  1. Un usuario intenta iniciar sesión o registrarse en una aplicación con la directiva de Azure AD B2C.
  2. Durante el registro, Access se registra en el dispositivo del usuario mediante un código QR. Se genera una clave privada en el dispositivo del usuario, que se utiliza para firmar las solicitudes del usuario.
  3. Azure AD B2C utiliza un perfil técnico de RESTful para poner en marcha el inicio de sesión con la solución Nevis.
  4. La solicitud de inicio de sesión va a Access, como un mensaje de inserción, un código QR o un vínculo profundo.
  5. El usuario aprueba el intento de inicio de sesión con su biometría. Un mensaje va a Nieves, que verifica el inicio de sesión con la clave pública almacenada.
  6. Azure AD B2C envía una solicitud a Nevis para confirmar que el inicio de sesión está completo.
  7. Se concede o deniega al usuario el acceso a la aplicación con un mensaje correcto o erróneo de Azure AD B2C.

Integración del inquilino de Azure AD B2C

Solicitar una cuenta de Nevis

  1. Vaya a nevis.net para Nevis + Microsoft Azure AD B2C.
  2. Use la solicitud de formulario de una cuenta.
  3. Llegan dos correos electrónicos:
  • Notificación de la cuenta de administración
  • Invitación de aplicación móvil

Incorporación del inquilino de Azure AD B2C a la cuenta de Nevis

  1. Desde el correo electrónico de prueba de la cuenta de administración, copie la clave de administración.
  2. En un explorador, abra https://console.nevis.cloud/.
  3. Use la clave de administración para iniciar sesión en la consola de administración.
  4. Seleccione Add Instance (Agregar instancia).
  5. Seleccione la instancia creada.
  6. En la navegación lateral, seleccione Custom Integrations (Integraciones personalizadas).
  7. Seleccione Add custom integration (Agregar integración personalizada).
  8. En el nombre de la organización, escriba un nombre para el inquilino de Azure AD B2C.
  9. En la dirección URL/dominio, especifique https://yourtenant.onmicrosoft.com.
  10. Seleccione Siguiente.
  11. Seleccione Listo.

Nota:

Más adelante necesitará el token de acceso a Nevis.

Instalación de la aplicación Nevis Access en el teléfono

  1. En la dirección de correo electrónico de invitación de la aplicación móvil de Nevis, abra la invitación Test Flight app (Aplicación Test Flight).
  2. Instale la aplicación.

Integración de Azure AD B2C con Nevis

  1. Inicie sesión en Azure Portal.
  2. Cambie al inquilino de Azure AD B2C. Nota: el inquilino Azure AD B2C suele estar en un inquilino independiente.
  3. En el menú, seleccione Identity Experience Framework (IEF).
  4. Seleccione Claves de directiva.
  5. Seleccione Agregar.
  6. Cree una nueva clave.
  7. En Opciones, seleccione Manual.
  8. En Nombre, seleccione AuthCloudAccessToken.
  9. En Secreto, pegue el token de acceso de Nevis almacenado.
  10. En Uso de la clave, seleccione Cifrado.
  11. Seleccione Crear.

Configuración y carga de nevis.html en Azure Blob Storage

  1. En Identity Environment (IDE), vaya a la carpeta /master/samples/Nevis/policy.
  2. En /samples/Nevis/policy/nevis.html abra el archivo nevis.html.
  3. Reemplace authentication_cloud_url por la URL de la consola de administración de Nevishttps://<instance_id>.mauth.nevis.cloud.
  4. Seleccione Guardar.
  5. Cree una cuenta de Azure Blob Storage.
  6. Suba el archivo nevis.html al almacenamiento blob de Azure.
  7. Configuración de CORS.
  8. Habilite el uso compartido de recursos entre orígenes (CORS) para el archivo.
  9. En la lista, seleccione el archivo nevis.html.
  10. En la pestaña Información general, junto a Dirección URL, seleccione el icono Copiar vínculo.
  11. Abra el vínculo en una nueva pestaña del explorador para confirmar que aparece un recuadro gris.

Nota:

Más adelante necesitará el vínculo del blob.

Personalización de TrustFrameworkBase.xml

  1. En el IDE, vaya a la carpeta /samples/Nevis/policy.
  2. Abra TrustFrameworkBase.xml.
  3. Reemplace yourtenant por el nombre de su cuenta de inquilino de Azure en TenantId.
  4. Reemplace yourtenant por el nombre de su cuenta de inquilino de Azure en PublicPolicyURI.
  5. Reemplace todas las instancias authentication_cloud_url por la URL de la consola Nevis Admin.
  6. Seleccione Guardar.

Personalización de TrustFrameworkExtensions.xml

  1. En el IDE, vaya a la carpeta /samples/Nevis/policy.
  2. Abra TrustFrameworkExtensions.xml.
  3. Reemplace yourtenant por el nombre de su cuenta de inquilino de Azure en TenantId.
  4. Reemplace yourtenant por el nombre de su cuenta de inquilino de Azure en PublicPolicyURI.
  5. En BasePolicy, en TenantId, reemplace yourtenant por el nombre de su cuenta de inquilino de Azure.
  6. En BuildingBlocks, reemplace LoadUri por la URL del enlace blob nevis.html, en la cuenta de almacenamiento blob.
  7. Seleccione Guardar.

Personalización de SignUpOrSignin.xml

  1. En el IDE, vaya a la carpeta /samples/Nevis/policy.
  2. Abra el archivo SignUpOrSignin.xml.
  3. Reemplace yourtenant por el nombre de su cuenta de inquilino de Azure en TenantId.
  4. Reemplace yourtenant por el nombre de su cuenta de inquilino de Azure en PublicPolicyURI.
  5. En BasePolicy, en TenantId, reemplace yourtenant por el nombre de su cuenta de inquilino de Azure.
  6. Seleccione Guardar.

Carga de las directivas personalizadas en Azure AD B2C

  1. En Azure Portal, abra el inquilino de Azure AD B2C.
  2. Seleccione Marco de experiencia de identidad.
  3. Seleccione Cargar directiva personalizada.
  4. Seleccione el archivo TrustFrameworkBase.xml que ha modificado.
  5. Active la casilla Sobrescribir la directiva personalizada si ya existe.
  6. Seleccione Cargar.
  7. Repita los pasos 5 y 6 para TrustFrameworkExtensions.xml.
  8. Repita los pasos 5 y 6 para SignUpOrSignin.xml.

Prueba del flujo de usuario

Prueba de creación de cuenta y configuración de acceso

  1. En Azure Portal, abra el inquilino de Azure AD B2C.
  2. Seleccione Marco de experiencia de identidad.
  3. Desplácese a Directivas personalizadas y seleccione B2C_1A_signup_signin.
  4. Seleccione Ejecutar ahora.
  5. En la ventana, seleccione Registrarse ahora.
  6. Agregue su dirección de correo electrónico.
  7. Seleccione Enviar código de verificación.
  8. Copie el código de verificación del correo electrónico.
  9. Seleccione Comprobar.
  10. Rellene el formulario con la nueva contraseña y el nombre para mostrar.
  11. Seleccione Crear.
  12. Aparece la página de escaneo del código QR.
  13. En el teléfono, abra la aplicación Nevis Access.
  14. Seleccione Face ID.
  15. Aparece la pantalla El registro del autentificador se ha realizado correctamente.
  16. Seleccione Continuar.
  17. En su teléfono, autentifíquese con su cara.
  18. La página principal jwt.ms aparece con los detalles del token descodificado.

Pruebe el inicio de sesión sin contraseña

  1. En Identity Experience Framework, seleccione B2C_1A_signup_signin.
  2. Seleccione Ejecutar ahora.
  3. En la ventana, seleccione Autenticación sin contraseña.
  4. Especifique su dirección de correo electrónico.
  5. Seleccione Continuar.
  6. En el teléfono, en Notificaciones, seleccione Nevis Access app notification (Notificación de la aplicación Nevis Access).
  7. Autentíquese con su cara.
  8. La página principal jwt.ms aparece con los tokens.

Pasos siguientes