Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
A partir del 1 de mayo de 2025, Azure AD B2C ya no estará disponible para ser adquirido por nuevos clientes. Obtenga más información en nuestras preguntas más frecuentes.
En este tutorial, aprenderá a integrar una aplicación de pago en línea de ejemplo en Azure Active Directory B2C (Azure AD B2C) con la API de Twilio Verify. Mediante el uso de la aplicación Twilio Verify, los clientes de Azure AD B2C pueden cumplir los requisitos de transacción de PSD2 (Directiva de servicios de pago 2) mediante la vinculación dinámica y la autenticación sólida de los clientes.
Prerrequisitos
Para empezar, necesitará lo siguiente:
- Una suscripción de Azure. Si no tiene una suscripción, puede obtener una cuenta gratuita.
- Un inquilino de Azure AD B2C vinculado a su suscripción de Azure.
- Una cuenta de prueba en Twilio.
Descripción del escenario
Los siguientes componentes componen la solución de Twilio:
Aplicación web de demostración de .NET PSD2, que proporciona la capacidad de iniciar sesión o registrarse, y realizar una transacción ficticia de alto riesgo.
Directiva de inicio de sesión y registro combinados de Azure AD B2C.
Directiva de Azure AD B2C integrada con la API de Twilio Verify mediante
id_token_hint
.Aplicación web de .NET, que hospeda un
.well-known
punto de conexión de OpenIdConnect para permitir la validación de unid_token_hint
.
Paso | Descripción |
---|---|
1 | El usuario inicia el inicio de sesión o el registro en la aplicación de demostración de PSD2. El usuario se autentica mediante la directiva de inicio de sesión y registro combinados de Azure AD B2C. Se devuelve un token a la aplicación. Al registrarse, el número de teléfono del usuario se comprueba mediante SMS/Phone y se registra en su cuenta de Azure AD B2C. |
2 | El usuario inicia una transacción de alto riesgo, como una transferencia de 50,00 USD. El token de acceso actual del usuario se evalúa para que policyId determine si el usuario ya se ha autenticado a través de una directiva personalizada de Step-Up. |
3 | La aplicación registra el valor de transacción y el receptor, $50,00 y John Doe, y genera un token firmado. Este token se denomina id_token_hint y contiene la reclamación amount:$500, payee:john doe . El id_token_hint se envía junto con la solicitud a la política personalizada de Azure AD B2C, que está integrada con Twilio. |
4 | Azure AD B2C comprueba la firma del token id_token_hint mediante la comprobación del punto de conexión /.well-known de OpenId Connect de las aplicaciones. Después de comprobarlo, extrae las reclamaciones de este token, en particular amount y payee . El usuario verá una página para comprobar su número de teléfono móvil a través del mensaje SMS. |
5 | El usuario solicita comprobar su número de teléfono a través del mensaje SMS y Azure AD B2C realiza una solicitud de API REST al punto de conexión de la API de Twilio Verify. También envía la transacción amount y payee como parte del proceso PSD2 para generar el One-Time-Passcode (OTP). Twilio envía un mensaje SMS al número de teléfono registrado del usuario. |
6 | El usuario escribe el OTP recibido en su mensaje SMS y lo envía a Azure AD B2C. Azure AD B2C realiza una solicitud de API con esta OTP a la API de comprobación de Twilio para comprobar que el OTP es correcto. Por último, se emite un token a la aplicación, con un nuevo PolicyId que indica que el usuario ha aumentado su autenticación. |
Incorporación con Twilio
Obtenga una cuenta de prueba en Twilio.
Compra de un número de teléfono en Twilio como se describe en este artículo
Vaya a Comprobar API en la consola de Twilio y siga las instrucciones para crear un servicio y habilitar la opción PSD2.
Configuración de la aplicación de demostración PSD2
Abra la solución B2C-WebAPI-DotNet y reemplace los valores siguientes por sus propios valores específicos del inquilino en el archivo web.config:
<add key="ida:Tenant" value="yourtenant.onmicrosoft.com" /> <add key="ida:TenantId" value="aaaabbbb-0000-cccc-1111-dddd2222eeee" /> <add key="ida:ClientId" value="00001111-aaaa-2222-bbbb-3333cccc4444" /> <add key="ida:ClientSecret" value="secret" /> <add key="ida:AadInstance" value="https://yourtenant.b2clogin.com/tfp/{0}/{1}" /> <add key="ida:RedirectUri" value="https://your hosted psd2 demo app url/" />
La aplicación web también hospeda el generador de sugerencias de token de identificador y el punto de conexión de metadatos.
Cree el certificado de firma como se describe en esta descripción de ejemplo.
Actualice las líneas siguientes en función del certificado del archivo web.config:
<add key="ida:SigningCertThumbprint" value="4F39D6014818082CBB763E5BA5F230E545212E89" /> <add key="ida:SigningCertAlgorithm" value="RS256" />
Cargue la aplicación de demostración en el proveedor de hospedaje que prefiera. En esta descripción de ejemplo se proporcionan instrucciones para Azure App Service, incluidas las instrucciones para cargar el certificado.
Actualice el registro de la aplicación de Azure AD B2C agregando una dirección URL de respuesta equivalente a la dirección URL en la que se hospeda la aplicación.
Abra los archivos de directiva y reemplace todas las instancias de
contoso
por el nombre de tu inquilino.Busque el perfil técnico de la API REST de Twilio Custom-SMS-Enroll. Actualice
ServiceURL
con el valor AccountSID de Twilio y el número De con su número de teléfono que ha adquirido.Busque los perfiles técnicos de la API REST de Twilio, TwilioRestAPI-Verify-Step1 y TwilioRestAPI-Verify-Step2 y actualice con
ServiceURL
su AccountSID de Twilio.
Integración con Azure AD B2C
Agregue los archivos de directiva a Azure AD B2C:
- Inicie sesión en el portal de Azure como Administrador de directivas IEF de B2C de su entidad de Azure AD B2C.
- Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar a su inquilino de Azure AD B2C desde el menú Directorios y suscripciones.
- Elija Todos los servicios en la esquina superior izquierda de Azure Portal, busque y seleccione Azure AD B2C.
- Vaya a Azure AD B2C>Marco de experiencia de identidad>Claves de directiva.
- Agregue una nueva clave con el nombre B2cRestTwilioClientId. Seleccione manual y proporcione el valor de AccountSID de Twilio.
- Agregue una nueva clave con el nombre B2cRestTwilioClientSecret. Seleccione manual y proporcione el valor del TOKEN de autenticación de Twilio.
- Cargue todos los archivos de directiva en el inquilino.
- Personalice la cadena en la transformación de notificaciones GenerateOTPMessageEnrol para el texto del mensaje SMS de registro.
Probar la solución
- Vaya a la aplicación y pruebe las acciones de inicio de sesión, registro y envío de dinero.
Pasos siguientes
Para más información, consulte los artículos siguientes:
Consulte Ejemplos de código de integración de GitHub para Twilio.
Introducción a las directivas personalizadas en Azure AD B2C