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 la autenticación de Azure Active Directory B2C (Azure AD B2C) con la plataforma Arkose Protect de Arkose Labs . Los productos de Arkose Labs ayudan a las organizaciones contra los ataques de bots, la apropiación de cuentas y las aperturas de cuentas fraudulentas.
Prerrequisitos
Para empezar, necesitará lo siguiente:
- Una suscripción a Azure
- Si no tiene una, puede obtener una cuenta gratuita de Azure.
- Un inquilino de Azure AD B2C vinculado a su suscripción de Azure
- Una cuenta de Arkose Labs
- Vaya a arkoselabs.com para solicitar una demostración
Descripción del escenario
La integración de los productos de Arkose Labs incluye los siguientes componentes:
- Arkose Protect Platform : un servicio para protegerse contra bots y otros abusos automatizados
-
Flujo de usuario de registro de Azure AD B2C : la experiencia de registro que usa la plataforma Arkose Labs
- Los conectores personalizados de HTML, JavaScript y API se integran con la plataforma Arkose
-
Azure Functions: punto de conexión de API hospedado que funciona con la característica de conectores de API
- Esta API valida el lado del servidor del token de sesión de Arkose Labs
- Obtenga más información en la información general de Azure Functions
En el diagrama siguiente se muestra cómo se integra la plataforma Arkose Labs con Azure AD B2C.
- Un usuario se registra y crea una cuenta. El usuario selecciona Enviar y aparece un desafío de cumplimiento de Arkose Labs.
- El usuario completa el desafío. Azure AD B2C envía el estado a Arkose Labs para generar un token.
- Arkose Labs envía el token a Azure AD B2C.
- Azure AD B2C llama a una API web intermedia para pasar el formulario de registro.
- El formulario de registro va a Arkose Labs para la verificación del token.
- Arkose Labs envía los resultados de la verificación a la API web intermedia.
- La API envía un resultado correcto o incorrecto a Azure AD B2C.
- Si el desafío se realiza correctamente, se envía un formulario de registro a Azure AD B2C, que completa la autenticación.
Solicite una demostración de Arkose Labs
- Vaya a arkoselabs.com para reservar una demostración.
- Cree una cuenta.
- Vaya a la página de inicio de sesión del Portal Arkose .
- En el panel de control, vaya a la configuración del sitio.
- Localiza tu clave pública y tu clave privada. Vas a usar esta información más adelante.
Nota:
Los valores de clave pública y privada son ARKOSE_PUBLIC_KEY
y ARKOSE_PRIVATE_KEY
.
Consulte Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose.
Integración con Azure AD B2C
Creación de un atributo personalizado ArkoseSessionToken
Para crear un atributo personalizado:
- Inicie sesión en Azure Portal y, a continuación, vaya a Azure AD B2C.
- Seleccione Atributos de usuario.
- Selecciona Agregar.
- Escriba ArkoseSessionToken como nombre del atributo.
- Selecciona Crear.
Más información: Definición de atributos personalizados en Azure Active Directory B2C
Creación de un flujo de usuario
El flujo de usuario es para el registro y el inicio de sesión, o para el registro. El flujo de usuario de Arkose Labs aparece durante el registro.
Cree flujos de usuario y directivas personalizadas en Azure Active Directory B2C. Si usa un flujo de usuario, use Recomendado.
En la configuración del flujo de usuario, vaya a Atributos de usuario.
Seleccione la notificación ArkoseSessionToken.
Configurar HTML, JavaScript y diseño de página personalizados
- Vaya a Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose.
- Busque la plantilla HTML con etiquetas JavaScript
<script>
. Estos hacen tres cosas:
Cargue el script de Arkose Labs, que renderiza su widget y realiza la validación de Arkose Labs del lado del cliente.
Oculte el elemento de entrada
extension_ArkoseSessionToken
y la etiquetaArkoseSessionToken
correspondientes al atributo personalizado.Cuando un usuario completa el desafío de Arkose Labs, se verifica la respuesta del usuario y se genera un token. La devolución de llamada
arkoseCallback
en JavaScript personalizado establece el valor deextension_ArkoseSessionToken
en el valor del token generado. Este valor se envía al punto de conexión de la API.Nota:
Vaya a developer.arkoselabs.com para obtener instruccionesClient-Side. Siga los pasos para usar el HTML y JavaScript personalizados para el flujo de usuario.
En Azure-Samples, modifique selfAsserted.html archivo para
<ARKOSE_PUBLIC_KEY>
que coincida con el valor que generó para la validación del lado cliente.Hospede la página HTML en un punto de conexión web habilitado para el uso compartido de recursos de origen cruzado (CORS).
Compatibilidad de CORS con Azure Storage.
Nota:
Si tiene HTML personalizado, copie y pegue los
<script>
elementos en su página HTML.En Azure Portal, vaya a Azure AD B2C.
Vaya a Flujos de usuario.
Seleccione el flujo de usuario.
Seleccione Diseños de página.
Seleccione Diseño de página de registro de cuenta local.
En Usar contenido de página personalizada, seleccione SÍ.
En Usar contenido de página personalizada, pegue el URI de HTML personalizado.
(Opcional) Si usas proveedores de identidades sociales, repite los pasos de la página de registro de cuentas sociales.
En el flujo de usuario, vaya a Propiedades.
Seleccione Habilitar JavaScript.
Más información: Habilitación de versiones de JavaScript y diseño de página en Azure Active Directory B2C
Creación e implementación de la API
En esta sección se supone que usa Visual Studio Code para implementar Azure Functions. Puede usar Azure Portal, el terminal o el símbolo del sistema para la implementación.
Vaya a Visual Studio Marketplace para instalar Azure Functions para Visual Studio Code.
Ejecutar de manera local la API
- En Visual Studio Code, en el panel de navegación izquierdo, vaya a la extensión de Azure.
- Seleccione la carpeta Proyecto local de la función de Azure local.
- Presione F5 o seleccione Depurar>Iniciar depuración. Este comando utiliza la configuración de depuración de la función de Azure creada.
- Azure Function genera archivos para el desarrollo local, instala dependencias y las herramientas principales de funciones, si es necesario.
- En el panel Terminal de Visual Studio Code, aparece la salida de la herramienta Function Core.
- Cuando se inicie el host, seleccione Alt+clic en la dirección URL local en la salida.
- El navegador abre y ejecuta la función.
- En el explorador de Azure Functions, haga clic con el botón derecho en la función para ver la dirección URL de la función hospedada localmente.
Adición de variables de entorno
El ejemplo de esta sección protege el punto de conexión de la API web cuando se utiliza la autenticación básica HTTP. Obtenga más información en la página RFC 7617 del Grupo de trabajo de ingeniería de Internet: La autenticación básica.
El nombre de usuario y la contraseña se almacenan como variables de entorno, no forman parte del repositorio. Obtenga más información sobre Codificar y probar Azure Functions localmente, archivo de configuración local.
- En la carpeta raíz, cree un archivo local.settings.json.
- Copie y pegue el siguiente código en el archivo:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"BASIC_AUTH_USERNAME": "<USERNAME>",
"BASIC_AUTH_PASSWORD": "<PASSWORD>",
"ARKOSE_PRIVATE_KEY": "<ARKOSE_PRIVATE_KEY>",
"B2C_EXTENSIONS_APP_ID": "<B2C_EXTENSIONS_APP_ID>"
}
}
- El BASIC_AUTH_USERNAME y el BASIC_AUTH_PASSWORD son las credenciales para autenticar la llamada API a la función de Azure. Seleccione los valores.
-
<ARKOSE_PRIVATE_KEY> es el secreto del lado del servidor que generó en la plataforma de Arkose Labs.
- Se llama a la API de validación del lado del servidor de Arkose Labs para validar el valor de
ArkoseSessionToken
generado por el front-end. - Consulte Instrucciones del lado del servidor.
- Se llama a la API de validación del lado del servidor de Arkose Labs para validar el valor de
- < > B2C_EXTENSIONS_APP_ID es el identificador de aplicación que usa Azure AD B2C para almacenar atributos personalizados en el directorio.
Vaya a Registros de aplicaciones.
Busque b2c-extensions-app.
En el panel Información general , copie el ID de aplicación (cliente).
Elimine los
-
caracteres.
Implementación de la aplicación en la web
Implemente Azure Function en la nube. Obtenga más información con la documentación de Azure Functions.
Copie la dirección URL web del punto de conexión de Azure Function.
Después de la implementación, seleccione la opción Configuración de carga .
Las variables de entorno se cargan en la configuración de la aplicación de la instancia de App Service. Obtenga más información sobre Configuración de la aplicación en Azure.
Nota:
Puede administrar la aplicación de funciones. Consulte también Implementación de archivos de proyecto para obtener información sobre el desarrollo de Visual Studio Code para Azure Functions.
Configurar y habilitar el conector de API
Cree un conector de API. Consulte Agregar un conector de API a un flujo de usuario de registro.
Habilítelo para su flujo de usuario.
- Dirección URL del punto de conexión : la dirección URL de la función que copió mientras implementaba Azure Function
- Nombre de usuario : el nombre de usuario que definió
- Contraseña : la contraseña que definió
En la configuración del conector de API para el flujo de usuario, seleccione el conector de API que se invocará en Antes de crear el usuario.
La API valida el
ArkoseSessionToken
valor.
Prueba del flujo de usuario
- Abra el inquilino de Azure AD B2C.
- En Directivas, seleccioneFlujos de usuario.
- Seleccione el flujo de usuario creado.
- Seleccione Ejecutar flujo de usuario.
- En Aplicación , seleccione la aplicación registrada (el ejemplo es JWT).
- En URL de respuesta, seleccione la dirección URL de redireccionamiento.
- Seleccione Ejecutar flujo de usuario.
- Lleve a cabo el flujo de registro.
- Cree una cuenta.
- Cierre la sesión.
- Lleve a cabo el flujo de inicio de sesión.
- Selecciona Continuar.
- Aparece un rompecabezas de Arkose Labs.
Recursos
-
Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose
- Búsqueda del flujo de usuario de registro de Azure AD B2C
- Introducción a la directiva personalizada de Azure AD B2C
- Tutorial: Creación de flujos de usuario y directivas personalizadas en Azure Active Directory B2C