Skip to main content
Documentación interna para desarrolladores. Esta página cubre la capa de autenticación, la estructura de la sesión, el cambio de organización y los flujos de invitación. No está destinado a usuarios finales.

Mapa de ruta


Controlador de autenticación siguiente

La ruta [...nextauth] es una envoltura delgada alrededor de @zappway/lib/auth:
La configuración de autenticación (proveedores, devoluciones de llamadas, estrategia de sesión) se encuentra en @zappway/lib/auth. Esta ruta sólo se delega en ella.

Objeto de sesión (AppRouteRequest.session)

Todas las rutas autenticadas reciben un AppRouteRequest con un session completo:

Cambio de organización (update-org)

Los usuarios pueden pertenecer a varias organizaciones. El punto final update-org actualiza la organización activa en la sesión. Flujo:
  1. El usuario selecciona una organización diferente en la interfaz de usuario.
  2. POST /api/auth/update-org se llama con el objetivo organizationId
  3. El servidor valida que el usuario sea miembro de esa organización.
  4. La cookie de sesión se actualiza con el nuevo contexto de la organización.

Flujo de invitación (invite)


Sincronización de administrador (admin-sync)

Punto final interno utilizado para sincronizar las membresías de organizaciones de nivel de administrador (por ejemplo, después de una actualización de plan). Se llama mediante webhooks de facturación a través de HTTP del lado del servidor (no desde el cliente).

withPermissionRoute Modos de autenticación

Utilice authMode: 'lightweight' para todos los puntos finales de lectura para reducir la latencia.

Patrón de verificación de permisos


Problemas conocidos / Problemas

  • Se requiere runtime = "nodejs" en la ruta [...nextauth]: la biblioteca de autenticación utiliza API exclusivas de Node.js que no están disponibles en Edge Runtime.
  • Las cookies de sesión son HTTPOnly y tienen como ámbito el dominio. Nunca intentes leerlos desde JS del lado del cliente.
  • El punto final update-org debe invalidar cualquier conexión WebSocket/SSE activa para el usuario para que las actualizaciones en tiempo real reflejen el nuevo contexto de la organización.
  • La autenticación de enlace mágico (si está habilitada a través de la biblioteca) es manejada internamente por el proveedor de correo electrónico de NextAuth; no hay una ruta verify-magic-link separada en esta aplicación.