Ir al contenido

Aprovisionar usuarios con SCIM

Usa esta guía cuando quieras control del ciclo de vida: cuando alguien causa baja, el acceso debe revocarse automáticamente y no basta con bloquear futuros inicios de sesión. SCIM es el protocolo de envío que usan los IdP (Okta, Entra ID y otros) precisamente para eso.

  • El SSO ya funciona (el tutorial de SSO o la guía de OIDC),
  • un servidor accesible por el IdP a través de HTTPS — las llamadas SCIM las hace el IdP, no el navegador del usuario. Usa el túnel integrado (Ajustes → Servidor → Conexión y estado → Compartir este servidor → Cloudflared/ngrok/Tailscale) o una URL pública. Un servidor al que solo se llega por el retransmisor WebSocket no puede recibir envíos SCIM; el aprovisionamiento JIT sí sigue funcionando ahí, esta guía no.
  1. Abre Ajustes → Servidor → Inicio de sesión único → la tarjeta Aprovisionamiento de usuarios (SCIM). La tarjeta muestra el endpoint, p. ej. https://<your-server>/scim/v2/Users.
  2. Pulsa Generar token (o Regenerar token si ya existe uno) — el token bearer aparece una sola vez en un diálogo y se copia al portapapeles. Guárdalo en tu gestor de contraseñas; el servidor solo conserva una copia verificable en tiempo constante.
  3. En los ajustes de aprovisionamiento de tu IdP, activa SCIM con:
    • URL base: el endpoint de arriba
    • Autenticación: Authorization: Bearer <token>
    • ID de usuario: userName (correo) o externalId — ambos coinciden
  4. Haz una prueba con un usuario: envíalo desde el IdP y confirma que aparece (la creación vía SCIM fija el externalId del proveedor en la cuenta, la misma fijación que establece el primer inicio de sesión SSO).

Cuando el IdP envía active: false (o DELETE), SCIM se niega primero si la cuenta es propietaria de un espacio de trabajo (transfiere la propiedad antes). En caso contrario:

  1. primero se revoca cada credencial de dispositivo — las sesiones activas caen en cuestión de segundos,
  2. se elimina cada pertenencia a espacios de trabajo,
  3. la cuenta queda marcada como desactivada (nunca podrá iniciar sesión, diga lo que diga el IdP después, hasta que se reactive explícitamente).

La propia fila del usuario sobrevive: la atribución en tickets, mensajes y commits es permanente. La reactivación (SCIM active: true) restaura el inicio de sesión, pero no las pertenencias: estas necesitan una invitación nueva o la política de miembro automático al iniciar sesión.

  • 401 en todas las llamadas — el token ha cambiado; regenéralo y actualiza el IdP.
  • No se llega al endpoint — el túnel está caído, o el servidor solo funciona por retransmisor. SCIM necesita HTTPS directo; JIT sigue funcionando en cualquier caso.
  • Errores de envío de grupos (501) — es intencionado: la asignación de grupos→roles ocurre al iniciar sesión a partir de los atributos de grupo SAML/OIDC, no a partir de los grupos enviados.