Saltar al contenido principal
Los metadatos de la sesión hacen que los datos de contexto del usuario sean transferibles y visibles a lo largo del ciclo de vida de la sesión y en los eventos de cierre de sesión. Los sistemas posteriores pueden usar la información de los metadatos de la sesión para realizar auditorías, hacer análisis y aplicar flujos de revocación, entre otros usos.
Los metadatos de sesión de Auth0 no son un almacén de datos seguro y no deben usarse para almacenar información confidencial. Esto incluye secretos y PII de alto riesgo, como números de la seguridad social o de tarjetas de crédito, entre otros. Se recomienda encarecidamente a los clientes de Auth0 que evalúen los datos almacenados en los metadatos y que solo guarden lo necesario para fines de gestión de identidades y accesos. Para obtener más información, consulte Cumplimiento del Reglamento General de Protección de Datos (GDPR) de Auth0.

Agregar información de la organización a los metadatos de la sesión

Puedes usar Actions para almacenar los identificadores de la organización en una sesión mediante el método api.session.setMetadata() de post-login y consultarlos con el objeto event.session.metadata. Código de la Action de Post-Login:
/**
 * Action de post-login (simple)
 * Agrega el contexto de la organización a los metadatos de la sesión para que aparezca en Actions posteriores,
 * la Management API y (si está habilitado) el token de cierre de sesión por canal secundario.
 */
exports.onExecutePostLogin = async (event, api) => {
  // Continuar solo si la transacción apunta a una Organización
  if (!event.organization) return;

  // Mantener los valores cortos y solo como cadenas (los metadatos de la sesión requieren cadenas)
  const orgId = String(event.organization.id || "");
  const orgSlug = String(event.organization.name || "");
  const orgDisplay = String(event.organization.display_name || orgSlug);

  // Escrituras mínimas e idempotentes (solo algunas claves para no superar los límites)
  api.session.setMetadata("org_id", orgId);
  api.session.setMetadata("org_slug", orgSlug);
  api.session.setMetadata("org_name", orgDisplay);
};
Los metadatos de la sesión están disponibles para las Actions posteriores, pueden recuperarse a través de la Management API y pueden incluirse en el token de OpenID Connect Back-Channel Logout.
  • En las Actions posteriores, puedes consultar los datos mediante el objeto event.session.metadata:
const orgId = event.session.metadata?.org_id;
  • Si usa la Management API, puede consultar los datos mediante el endpoint /api/v2/sessions/:
GET /api/v2/sessions/{id}
Respuesta de ejemplo:
{
  "session_metadata": {
    "org_id": "org_abc123",
    "org_slug": "acme",
    "org_name": "Acme Corp"
  }
}
Las llamadas al endpoint /api/v2/sessions/{id} requieren un token de acceso de la Management API con el scope update:session.
{
  "events": { "http://schemas.openid.net/event/backchannel-logout": {} },
  "session_metadata": {
    "org_id": "org_abc123",
    "org_slug": "acme",
    "org_name": "Acme Corp"
  }
}