Tutorial para configurar Jumio con Azure Active Directory B2C
En este tutorial, aprenderá a integrar Azure Active Directory B2C (Azure AD B2C) con Jumio, un servicio de comprobación de identificadores que permite la comprobación automatizada de identificadores en tiempo real para ayudar a proteger los datos de los clientes.
Requisitos previos
Para empezar, necesitará lo siguiente:
Una suscripción de Azure
- Si no tiene una, puede obtener una cuenta gratuita de Azure
- Un inquilino de Azure AD B2C vinculado a la suscripción de Azure
Descripción del escenario
La integración de Jumio incluye los siguientes componentes:
- Azure AD B2C: el servidor de autorización que comprueba las credenciales del usuario, también conocido como proveedor de identidades (IdP).
- Jumio: comprueba los detalles del identificador de usuario.
- API de REST intermedia: úsela para implementar la integración de Azure AD B2C y Jumio
- Azure Blob Storage: úselo para obtener archivos de interfaz de usuario personalizados para las directivas de Azure AD B2C
En el siguiente diagrama de arquitectura se muestra la implementación.
- El usuario inicia sesión o se suscribe y crea una cuenta. Azure AD B2C recopila los atributos de usuario.
- Azure AD B2C llama a la API de nivel intermedio y pasa los atributos de usuario.
- La API de nivel intermedio convierte los atributos de usuario en un formato de API de Jumio y envía los atributos a Jumio.
- Jumio procesa los atributos y devuelve resultados a la API de nivel intermedio.
- La API de nivel intermedio procesa los resultados y envía la información pertinente a Azure AD B2C.
- Azure AD B2C recibe la información. Si la respuesta falla, aparecerá un mensaje de error. Si la respuesta tiene éxito, el usuario se autentica y se escribe en el directorio.
Creación de una cuenta de Jumio
Para crear una cuenta de Jumio, vaya a la página jumio.com Contacto.
Configuración de Azure AD B2C con Jumio
Después de crear una cuenta Jumio, utilícela para configurar Azure AD B2C.
Implementación de la API
En samples/Jumio/API/Jumio.Api/, implemente el código en un servicio de Azure. Puede publicar el código desde Visual Studio.
Nota
Para configurar Microsoft Entra ID, necesitará la URL del servicio implementado.
Implementación del certificado de cliente
La llamada a la API de Jumio está protegida por un certificado de cliente.
Cree un certificado autofirmado con el código de ejemplo de PowerShell siguiente:
$cert = New-SelfSignedCertificate -Type Custom -Subject "CN=Demo-SigningCertificate" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3") -KeyUsage DigitalSignature -KeyAlgorithm RSA -KeyLength 2048 -NotAfter (Get-Date).AddYears(2) -CertStoreLocation "Cert:\CurrentUser\My" $cert.Thumbprint $pwdText = "Your password" $pwd = ConvertTo-SecureString -String $pwdText -Force -AsPlainText Export-PfxCertificate -Cert $Cert -FilePath "{your-local-path}\Demo-SigningCertificate.pfx" -Password $pwd.
El certificado se exportará a la ubicación especificada para
{your-local-path}
.Para importar el certificado a Azure App Service, consulte Carga de un certificado privado.
Creación de una clave de firma o cifrado
Cree una cadena aleatoria con una longitud superior a 64 caracteres (solo letras y números).
Por ejemplo:
C9CB44D98642A7062A0D39B94B6CDC1E54276F2E7CFFBF44288CEE73C08A8A65
Use el siguiente script de PowerShell para crear la cadena:
-join ((0x30..0x39) + ( 0x41..0x5A) + ( 0x61..0x7A) + ( 65..90 ) | Get-Random -Count 64 | % {[char]$_})
Configuración de la API
Puede configurar las opciones de la aplicación en Azure App Service sin comprobarlas en un repositorio. Debe especificar la configuración siguiente para la API REST:
Configuración de la aplicación | Source | Notas |
---|---|---|
JumioSettings:AuthUsername | Configuración de la cuenta de Jumio | N/D |
JumioSettings:AuthPassword | Configuración de la cuenta de Jumio | N/D |
AppSettings:SigningCertThumbprint | Huella digital de certificado autofirmado creada | N/D |
AppSettings:IdTokenSigningKey | Clave de firma creada con PowerShell | N/D |
AppSettings:IdTokenEncryptionKey | Clave de cifrado creada con PowerShell | N/D |
AppSettings:IdTokenIssuer | Emisor para el token JWT (se prefiere un valor GUID) | N/D |
AppSettings:IdTokenAudience | Audiencia para el token JWT (se prefiere un valor GUID) | N/D |
AppSettings:BaseRedirectUrl | URL base de la directiva Azure AD B2C | https://{your-tenant-name}.b2clogin.com/{your-application-id} |
WEBSITE_LOAD_CERTIFICATES | Huella digital de certificado autofirmado creada | N/D |
Implementación de la interfaz de usuario
- Configure un contenedor de blobs en la cuenta de almacenamiento.
- Almacene los archivos de interfaz de usuario de /samples/Jumio/UI/ en el contenedor blob.
Actualización de los archivos de interfaz de usuario
- En los archivos de la interfaz de usuario, vaya a /samples/Jumio/UI/ocean_blue/.
- Abra cada archivo HTML.
- Busque y sustituya
{your-ui-blob-container-url}
por la URL del contenedor blob. - Busque y sustituya
{your-intermediate-api-url}
por la URL del servicio de aplicación de la API intermedia.
Nota
Se recomienda agregar una notificación de consentimiento en la página de recogida de atributos. Notifique a los usuarios que la información se dirige a servicios de terceros para la verificación de identidad.
Configuración de la directiva de Azure AD B2C
- Vaya a la directiva Azure AD B2C en /samples/Jumio/Policies/.
- Use las instrucciones del paquete de inicio de directivas personalizadas para descargar el paquete de inicio LocalAccounts.
- Configure la directiva para el inquilino de Azure AD B2C.
Nota:
Actualice las directivas para que se relacionen con su inquilino.
Prueba del flujo de usuario
- Abra el inquilino de Azure AD B2C.
- En Directivas, seleccione Identity Experience Framework.
- Seleccione la directiva SignUpSignIn creada.
- Seleccione Ejecutar flujo de usuario.
- En Aplicación, seleccione la aplicación registrada (en el ejemplo es JWT).
- Para URL de respuesta, seleccione la URL de redireccionamiento.
- Seleccione Ejecutar flujo de usuario.
- Complete el flujo de registro.
- Crear una cuenta
- Una vez creado el atributo de usuario, se llama a Jumio.
Sugerencia
Si el flujo está incompleto, confirme que el usuario está, o no, guardado en el directorio.