Saltar al contenido principal
Para configurar los metadatos de sesión, puedes usar una Action de post-login de Auth0 y la Management API. También puedes incluirlos en el token de OpenID Connect Back-Channel Logout.
Los metadatos de sesión de Auth0 no son un almacén de datos seguro y no deben usarse para guardar información confidencial. Esto incluye secretos e información de identificación personal (PII) de alto riesgo, como números de la seguridad social o de tarjetas de crédito. Se recomienda encarecidamente a los clientes de Auth0 que evalúen los datos almacenados en los metadatos y que solo guarden los que sean necesarios para fines de gestión de identidades y acceso. Para obtener más información, consulta Auth0 General Data Protection Regulation Compliance.

Auth0 Management API

Puede gestionar las solicitudes CRUD (crear, reemplazar, actualizar y eliminar) de los metadatos de las sesiones mediante la Management API:
Las llamadas al endpoint /api/v2/sessions/{id} requieren un token de acceso para la Management API con el scope update:session.

Recuperar los metadatos de una sesión existente

Haga una solicitud GET al endpoint /api/v2/sessions/{id}:
GET /api/v2/sessions/{id}

Agregar o actualizar los metadatos de una sesión existente

Realice una solicitud PATCH al endpoint /api/v2/sessions/{id}:
PATCH /api/v2/sessions/{id}
Content-Type: application/json

{
  "session_metadata": {
    "my_metadata": "my new metadata"
  }
}

Eliminar los metadatos de la sesión

Envíe una solicitud PATCH al endpoint /api/v2/sessions/{id}:
PATCH /api/v2/sessions/{id}
Content-Type: application/json

{
  "session_metadata": {}
}

Actions de post-login de Auth0

Puede gestionar las operaciones CRUD de los metadatos de sesión mediante los objetos api.session con una Action de post-login. Esto le permite gestionar los metadatos de sesión en función del usuario o de una lógica específica del contexto.

Recupera los metadatos de sesión existentes

Usa el objeto event.session.metadata?.deviceName para leer el metadato deviceName:
const device = event.session.metadata?.deviceName;
El objeto event.session.metadata incluye los metadatos definidos en: *Actions previas dentro del mismo flujo *Transacciones previas si se reutilizó la sesión

Añada o actualice los metadatos existentes

Use el método api.session.setMetadata() para actualizar los metadatos de la sesión:
api.session.setMetadata("deviceName", "Auth0's iPhone");
Los cambios están disponibles de inmediato en el objeto event.session en las Actions siguientes.

Eliminar los metadatos de la sesión

Utilice los siguientes objetos api.session para eliminar los metadatos de la sesión:
  • api.session.deleteMetadata("key") elimina los metadatos de la sesión especificados
  • api.session.evictMetadata() elimina todos los metadatos de la sesión
Para obtener más información sobre estos objetos, consulte:
  • objeto Event: Obtenga más información sobre el objeto Event del token de actualización y sus propiedades.
  • objeto API: Obtenga más información sobre el objeto API del token de actualización y sus métodos.

Cierre de sesión por canal secundario de OIDC

Puede configurar el logout_token para que incluya metadatos de sesión desde el Dashboard de Auth0 o la Management API.

Auth0 Dashboard

Para configurar el token de cierre de sesión por canal secundario de OIDC para que incluya metadatos de sesión:
  1. Vaya a Dashboard > Applications y seleccione su aplicación.
  2. Seleccione la pestaña Settings.
  3. En OpenID Connect Back-Channel Logout > Back-Channel Logout URL, agregue el URI de cierre de sesión de la aplicación que recibirá los logout_tokens.
  4. Configure Back-Channel Logout Initiators con una de las siguientes opciones:
    • Solo los iniciadores seleccionados o
    • Todos los iniciadores compatibles
  5. Active Include Session Metadata.
  6. Seleccione Save Changes.
Una vez configurado, el logout_token incluirá todos los metadatos de sesión almacenados.

Auth0 Management API

Puede usar el endpoint /api/v2/clients/{id} para actualizar su aplicación e incluir metadatos de sesión en el logout_token. Realice una solicitud PATCH al endpoint /api/v2/sessions/{id}:
"oidc_backchannel_logout": {
  "backchannel_logout_initiators": {
    "mode": "all"
  },
  "backchannel_logout_urls": [
    "https://httpdump.app/inspect/9bccf574-e55f-4b2e-9822-f37372588fc1"
  ],
  "backchannel_logout_session_metadata": {
    "include": true
  }
}

Manejo de errores

Puede revisar los eventos de registro de los metadatos de sesión en Dashboard > Monitoring > Logs o recuperar los log mediante el endpoint Management API logs.
  • Si se produce un error al añadir o actualizar metadatos de sesión con Actions, la transacción de autenticación falla y se devuelve un error a la URL de devolución de llamada.
Se registra un código de evento de fallo f con su error correspondiente:
{
  "error": "access_denied",
  "error_description": "Failed to set session metadata: Invalid metadata: Metadata keys may only include letters, numbers, underscores, or hyphens",
  "state": "my-custom-state"
}
  • Si se produce un error al gestionar los metadatos de la sesión mediante la Auth0 Management API, la API responde con un error HTTP status: 400 y el mensaje correspondiente:
{
  "statusCode": 400,
  "message": "Metadata must not exceed 25 entries. Each key and value must be ≤ 255 characters."
}