Manual · 9

Autenticación

Dos vías, ambas aceptadas por el mismo middleware:

POST /api/v1/auth/login con { "email": "...", "password": "..." } establece una cookie llamada illusiondb_session, válida durante 7 días. POST /api/v1/auth/logout la elimina en el servidor.

Token de API (scripts, clientes externos)

Un token se crea en Configuración → Mi cuenta: POST /api/v1/auth/tokens con { "name": "..." } – la respuesta contiene el valor bruto del token exactamente una vez. Después se envía como:

Authorization: Bearer <tu-token>

El token en sí es un valor aleatorio simple (codificado en Base64-URL) – sin prefijo fijo. Un token se revoca mediante DELETE /api/v1/auth/tokens/{id}.

Alternativamente, para casos sin control propio de cabeceras (por ejemplo, un <img src="..."> que apunta a un archivo adjunto, una exportación CSV enlazada directamente): el mismo token como parámetro de consulta ?token=... (o &token=... si ya hay una cadena de consulta):

GET /api/v1/tables/{tableId}/records/{pk}/attachments/{columnId}/{fileId}?token=<tu-token>

Si además hay una cabecera Authorization establecida, gana la cabecera. Aviso de seguridad: un token en la URL puede acabar en registros de servidor/proxy, en el historial del navegador y en cabeceras Referer de solicitudes posteriores – donde sea posible, sigue usando la cabecera Authorization; usa la variante de consulta solo de forma puntual para casos como imágenes incrustadas o enlaces directos.

Endpoints públicos

Accesibles sin ningún inicio de sesión: POST /auth/login, GET /auth/setup-status, POST /auth/setup (configuración del primer inicio), GET /healthz, GET /version. Tampoco pasan por el middleware normal los endpoints del generador de documentos y los endpoints personalizados marcados como públicos – estos deciden por sí mismos, en cada llamada, si es necesario iniciar sesión.