Saltar al contenido principal
Auth0 admite integraciones de Universal Logout con Okta Workforce Identity, que cierran la sesión de los usuarios en las aplicaciones cuando se produce un evento administrativo o de seguridad. El Universal Logout implementa la especificación Global Token Revocation, que va más allá de los estándares establecidos de cierre de sesión back-channel de Connect al revocar , además de las sesiones de usuario. Esta solución integral de cierre de sesión abarca aplicaciones web tradicionales, aplicaciones de una sola página (SPA) y aplicaciones nativas que usan una combinación de tokens de actualización, sesiones de aplicación y sesiones del para obtener nuevos tokens y mantener al usuario conectado. Si usas los tipos de conexión Okta, SAML u OpenID Connect para federarte con Workforce Identity, ya no necesitas implementar un endpoint de global token revocation para integrarlo con Okta Universal Logout. En su lugar, puedes proporcionar al administrador de Okta Workforce la URL del endpoint específico de la conexión de Auth0 y aprovechar el OpenID Connect Back-Channel Logout de Auth0 para terminar las sesiones de la aplicación si es necesario.

Cómo funciona

El endpoint de revocación global de tokens de Auth0 sigue el perfil documentado en Build Logout for your app. Usa el formato iss_sub para identificar a los usuarios en la solicitud de cierre de sesión y el siguiente formato de URL: https://{yourDomain}/oauth/global-token-revocation/connection/{yourConnectionName} Cuando Auth0 recibe una solicitud para cerrar la sesión de un usuario, valida la solicitud con el mismo conjunto de claves que se usa para validar los o las aserciones emitidos por Okta Workforce Identity. A continuación, cierra todas las sesiones de Auth0 del usuario, revoca los tokens de actualización emitidos por Auth0 y, si corresponde, desencadena OpenID Connect Back-Channel Logout para revocar las sesiones de la aplicación.
Flujo del usuario con Universal Logout
El tiempo que tarda un usuario de la aplicación en perder el acceso depende del tipo de aplicación y de cómo esté integrada con Auth0. Auth0 admite una amplia variedad de arquitecturas de aplicaciones gracias a su compatibilidad con los estándares de identidad OIDC y , así como con los Quickstarts y SDKs de Auth0. Esto incluye:
  • Las aplicaciones web tradicionales que crean sus propias sesiones de aplicación pueden usar tokens de actualización y para acceder a las API a través de un backend seguro.
  • Las aplicaciones JavaScript basadas en navegador que aprovechan la capa de sesión de Auth0 o usan técnicas como la rotación de tokens de actualización para obtener los tokens de acceso necesarios para acceder a las API desde un navegador web.
  • Las aplicaciones nativas o móviles que no se ejecutan en un navegador web y usan tokens de actualización y tokens de acceso como método principal para mantener la sesión iniciada de los usuarios.

Revocar tokens de actualización y sesiones de usuario de Auth0

Las aplicaciones que usan tokens de actualización o sesiones de Auth0 obtienen los siguientes beneficios de seguridad cuando la integración de Universal Logout está habilitada:
  • En las aplicaciones basadas en navegador que usan la sesión de Auth0, el usuario pierde el acceso la próxima vez que la aplicación consulta la sesión de Auth0, y Auth0 le solicita que vuelva a iniciar sesión cuando es redirigido
  • En las aplicaciones que usan tokens de actualización, el usuario pierde el acceso en cuanto vence su token de acceso actual, lo que puede ocurrir desde unos segundos hasta el tiempo de vida máximo del token de acceso configurado en Auth0.

Revocar las sesiones de usuario de la aplicación

Para las sesiones creadas por aplicaciones web, debe usar la función OpenID Connect Back-Channel Logout existente de Auth0 para finalizar esas sesiones cuando Universal Logout finalice la sesión de usuario de Auth0. Para obtener más información, consulte los ejemplos de implementación de los SDK de Auth0.

Configurar Universal Logout en Auth0

Configure Universal Logout según el tipo de conexión de Auth0.

Okta Workforce

  1. Conecta tu inquilino de Auth0 con Okta Workforce Identity.
  2. En Auth0 Dashboard, ve a Authentication > Enterprise > Okta Workforce. Selecciona tu conexión y haz clic en Settings.
  3. Copia la Revocation Endpoint URL que proporcionarás al administrador de Okta Workforce.

OpenID Connect

Recomendamos encarecidamente usar el tipo de conexión de Okta Workforce de marca para las nuevas integraciones de OpenID Connect. Sin embargo, Universal Logout aún se puede habilitar en integraciones más antiguas mediante el tipo de conexión genérico de OpenID Connect en la sección Settings de OpenID Connect en Auth0 Dashboard.
  1. En Auth0 Dashboard, vaya a Authentication > Enterprise > OpenID Connect. Seleccione su conexión y elija Settings.
  2. Copie la Revocation Endpoint URL que proporcionará al administrador de Okta Workforce.

SAML

  1. Configure Okta como proveedor de identidad SAML.
  2. En Auth0 Dashboard, vaya a Authentication > Enterprise > SAML. Seleccione su conexión y elija Settings.
  3. En Subject, introduzca el ID de la aplicación SAML registrada en Okta Workforce Identity. Ejemplo: 0oagcc12354688xxxx. Para obtener más información, consulte How to Obtain an Application ID.
  4. En Issuer, vaya a la aplicación SAML registrada en la organización de Okta Workforce Identity y copie el URI del emisor.
    Para obtener este valor, los administradores de WIC pueden ir a la sección Applications > Applications > [Application] > Authentication > Sign-on settings > Sign-on methods > SAML 2.0 > More details del portal de Okta.
  5. Copie la Revocation Endpoint URL, que deberá proporcionar al administrador de Okta Workforce Identity.

Configurar Universal Logout en Okta Workforce Identity

Configure Universal Logout en Okta Workforce Identity para enviar señales de cierre de sesión a la aplicación mediante la conexión de Auth0. Esta tarea debe realizarla un administrador de Okta.

Requisitos previos

Necesita lo siguiente:

Configurar Okta

Habilite Universal Logout en una organización de Okta Workforce para la conexión de Auth0.
  1. En el portal de Okta, seleccione Applications > Applications.
  2. Seleccione la aplicación que registró para la integración de Auth0.
  3. En la pestaña General, seleccione Logout > Edit.
    Imagen del panel de Okta para la configuración de Universal Logout
  4. Elija Okta system or admin initiates logout.
  5. Introduzca la URL que copió de Auth0 en Logout Endpoint URL.
  6. Seleccione Issuer and Subject Identifier como Subject Format.
  7. Seleccione Save.

Probar Universal Logout

Pruebe Universal Logout en Okta Workforce Identity revocando las sesiones del usuario seleccionado.
  1. En el portal de Okta, seleccione Directory > People.
  2. Seleccione un usuario que haya iniciado sesión en una aplicación de Auth0.
  3. Seleccione More Actions > Clear User Sessions.
    Probar Universal Logout en el panel de Okta
  4. En el cuadro de diálogo, seleccione Also include logout enabled apps and Okta API tokens.
  5. Seleccione Clear and Revoke.

Registros y notificaciones

Los administradores del inquilino de Auth0 pueden consultar el estado y los detalles de cada solicitud de Universal Logout que recibe Auth0 en Auth0 Dashboard > Monitoring > Logs. Los tipos de eventos de registro generados para Universal Logout se documentan en Códigos de tipo de evento de registro. También puede integrarse con Custom Log Streams para notificar a sistemas externos cuando se produzcan eventos de Universal Logout.

Management API

También puedes usar la Management API para configurar Universal Logout mediante programación. Esto resulta útil para automatizar configuraciones o crear tu propia configuración fuera de . Para Okta Workforce y las conexiones OpenID, no es necesario proporcionar ninguna entrada en la , ya que solo es necesario proporcionar al administrador de Okta Workforce el endpoint global de revocación de tokens de Auth0. Para las conexiones SAML, además de compartir la URL del endpoint, Universal Logout debe configurarse estableciendo estos atributos en el objeto connection:
  • options.global_token_revocation_jwt_iss - El ID del emisor de la aplicación SAML registrada en Okta Workforce Identity. Valor de ejemplo: http://www.okta.com/exkhwkmkwhZUnuA6xxxx.
  • options.global_token_revocation_jwt_sub - El ID de la aplicación de la aplicación SAML registrada en Okta Workforce Identity. Valor de ejemplo: 0oagcc12354688xxxx.
Puedes usar estos atributos en llamadas a la Management API para actualizar o crear conexiones SAML. Revisa el siguiente ejemplo JSON para crear una solicitud:
JSON
{
	"strategy": "samlp",
  	"name": "CONNECTION_NAME",
  	"options": {
    	"global_token_revocation_jwt_iss": "ISS_VALUE", 
     	"global_token_revocation_jwt_sub":  "SUB_VALUE",
    	"signInEndpoint": "SIGN_IN_ENDPOINT_URL",
    	"signOutEndpoint": "SIGN_OUT_ENDPOINT_URL",
    	"signatureAlgorithm": "rsa-sha256",
    	"digestAlgorithm": "sha256",
    	"fieldsMap": {
     		...
    	},
    	"signingCert": "BASE64_SIGNING_CERT"
  	}
}
Para obtener más información, consulta Crear una conexión empresarial con la Management API.