Saltar al contenido principal

Crear una aplicación OAuth2 en XFA

Una aplicación OAuth2 en XFA añade la verificación del dispositivo a un flujo de inicio de sesión OAuth2. XFA se sitúa entre su aplicación y su proveedor de identidad, verifica el dispositivo durante el inicio de sesión y reenvía al usuario solo cuando la decisión de su política permite el acceso. Use esta página para introducir los valores correctos y probar el flujo de inicio de sesión.

Cómo funciona

Una vez configurado, cuando un usuario inicia sesión en una aplicación mediante OAuth2:

  1. Aplicación → proveedor de identidad: la aplicación redirige al usuario a su proveedor de identidad (por ejemplo, Google Workspace u Okta) para autenticarse. Como la redirect_uri apunta al endpoint de XFA (vea el paso 4 más abajo), el proveedor de identidad devuelve al usuario a XFA después de la autenticación.
  2. Proveedor de identidad → XFA: después de la autenticación, el proveedor de identidad redirige al usuario de vuelta a la redirect URL de XFA, junto con el authorization code.
  3. XFA verifica el dispositivo: XFA compara el estado de seguridad del dispositivo con su política. Si el dispositivo no cumple su política, se deniega el acceso.
  4. Intercambio de token, aplicación → XFA → proveedor de identidad: si el dispositivo supera la comprobación, XFA redirige al usuario de vuelta a la aplicación con el authorization code. La aplicación intercambia después ese código por un access token llamando al token endpoint de XFA, que traslada esa petición de forma transparente al token endpoint de su proveedor de identidad. XFA usa este intercambio para vincular al usuario autenticado con su dispositivo. El token que recibe la aplicación no cambia: XFA no lo modifica.

Qué configurar y dónde

DóndeQué configurar
Aplicación (configuración de OAuth2)Sustituya la redirect_uri por la XFA Redirect URL
XFAIntegration Name, la Redirect URL original de su aplicación y el Token Endpoint del proveedor de identidad

Nota: este artículo da por supuesto que su organización tiene una cuenta de XFA y que usted es administrador de esa organización. Si todavía no tiene una cuenta, puede crear una en https://dashboard.xfa.tech/signup.

1. Inicie sesión en el panel de control de XFA

2. Cree una nueva aplicación en Enforcement > Nuevo > OAuth2 Integration

Crear una nueva aplicación

3. Introduzca la configuración de OAuth2

Configuración en XFA

Integration Name: un nombre descriptivo para esta integración
Redirect URL: la redirect URL original de su aplicación, a la que XFA envía al usuario tras la verificación del dispositivo
Token Endpoint: el token endpoint de OAuth2 de su proveedor de identidad, que XFA usa para intercambiar el authorization code por un access token (por ejemplo, https://accounts.google.com/o/oauth2/token para Google Workspace, o https://<your-domain>/oauth2/v1/token para Okta)

Haga clic en Guardar para guardar su integración.

Introducir la configuración de OAuth2

4. Actualice la configuración de OAuth2 de su aplicación

Después de guardar, copie la XFA Redirect URL que aparece en los detalles de la integración. En la configuración de OAuth2 de su aplicación, sustituya la redirect_uri existente por esa XFA Redirect URL. Así, tras la autenticación, el proveedor de identidad devuelve al usuario a XFA para la verificación del dispositivo en lugar de enviarlo directamente a la aplicación.

5. Pruebe la conexión

Pruebe el flujo de inicio de sesión iniciando sesión a través de la aplicación. El navegador debería redirigirse a su proveedor de identidad para autenticarse, después a XFA para la verificación del dispositivo, y solo entonces de vuelta a la aplicación.

Ejecutar la comprobación del dispositivo antes de authorize (para authorization codes de vida corta)

De forma predeterminada, XFA ejecuta su comprobación del dispositivo después de que el proveedor de identidad devuelva el authorization code, justo antes de intercambiar ese código en el Token Endpoint (vea Cómo funciona más arriba). Algunos proveedores de identidad emiten authorization codes que caducan muy rápido. Si la comprobación del dispositivo tarda más de lo que el código sigue siendo válido, por ejemplo cuando el usuario todavía tiene que instalar el agente de XFA, el intercambio de token puede fallar con un error invalid_grant y el usuario ve un fallo de autenticación. Con el handler de OpenID Connect de Microsoft, la misma situación puede aparecer como un error IDX21106, "Failed to parse token response body as JSON".

Para esos proveedores, XFA puede ejecutar la comprobación del dispositivo antes de redirigir al usuario al proveedor de identidad. El authorization code del proveedor se emite entonces solo después de que la comprobación se haya superado, de modo que se canjea en segundos y se mantiene holgadamente dentro de su periodo de validez.

Esta opción debe activarse explícitamente y se aplica solo a la integración de proxy OAuth2 descrita en esta página. Si deja el nuevo campo vacío, XFA mantiene el comportamiento predeterminado (comprobación del dispositivo después de que se devuelva el código).

Activar la comprobación del dispositivo antes de authorize

  1. En su integración OAuth2 en el panel de control de XFA, configure el nuevo campo Authorize Endpoint of Provider con el endpoint de autorización OAuth2/OIDC de su proveedor de identidad. Es la misma URL de authorize a la que apunta hoy su aplicación, por ejemplo https://<your-domain>/oauth2/v1/authorize.

  2. En la configuración de OAuth2 de su aplicación, cambie la URL de autorización (AuthUrl) para que apunte al punto de entrada authorize de XFA en lugar de apuntar directamente al proveedor de identidad:

    https://device-api.xfa.tech/<applicationId>/oauth2/authorize

    Sustituya <applicationId> por el ID de aplicación de XFA.

Todo lo demás se mantiene igual. La redirect URI de su aplicación, el registro de su cliente en el proveedor de identidad y el Token Endpoint en XFA no cambian.

Qué cambia

XFA: configure Authorize Endpoint of Provider con la URL de authorize del proveedor
Aplicación: haga que AuthUrl apunte a https://device-api.xfa.tech/<applicationId>/oauth2/authorize
Sin cambios: la redirect URI, el registro del cliente en el proveedor y el Token Endpoint

Revertir

Para volver al comportamiento predeterminado, haga que la AuthUrl de su aplicación vuelva a apuntar al endpoint de autorización de su proveedor de identidad. Si deja vacío el campo Authorize Endpoint of Provider en XFA, se restaura el flujo con la comprobación del dispositivo después de authorize.