Manuel · 9

Authentification

Deux méthodes, toutes deux acceptées par le même middleware :

POST /api/v1/auth/login avec { "email": "...", "password": "..." } définit un cookie nommé illusiondb_session, valable 7 jours. POST /api/v1/auth/logout le supprime côté serveur.

Jeton API (scripts, clients externes)

Vous créez un jeton sous Paramètres → Mon compte : POST /api/v1/auth/tokens avec { "name": "..." } – la réponse contient la valeur brute du jeton exactement une fois. À transmettre ensuite comme :

Authorization: Bearer <votre-jeton>

Le jeton lui-même est une simple valeur aléatoire (encodée en Base64-URL) – pas de préfixe fixe. Un jeton se révoque via DELETE /api/v1/auth/tokens/{id}.

Alternative, pour les cas sans contrôle propre des en-têtes (par exemple un <img src="..."> vers une pièce jointe, un export CSV lié directement) : le même jeton en paramètre de requête ?token=... (ou &token=... si une chaîne de requête existe déjà) :

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

Si un en-tête Authorization est également défini, c’est lui qui l’emporte. Remarque de sécurité : un jeton dans l’URL peut se retrouver dans les journaux serveur/proxy, l’historique du navigateur et les en-têtes Referer de requêtes ultérieures – utilisez autant que possible l’en-tête Authorization, et réservez la variante en paramètre de requête aux cas comme les images intégrées ou les liens directs.

Points d'accès publics

Accessibles sans aucune connexion : POST /auth/login, GET /auth/setup-status, POST /auth/setup (configuration du premier démarrage), GET /healthz, GET /version. Les points d’accès du générateur de documents et les points d’accès personnalisés marqués publics fonctionnent également en dehors du middleware normal – ils décident eux-mêmes, à chaque appel, si une connexion est nécessaire.