mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
feat(api) : gérer les clés de l'API externe depuis Paramètres (#570)
Nouvel onglet Paramètres > API externe (admin) : état de l'API, adresse, création d'une clé nommée par outil (affichée une seule fois), liste avec dernière utilisation, révocation immédiate. - table external_api_keys (empreinte SHA-256 uniquement), créée par migrations.production.ts et init.sql - l'API accepte les clés de Paramètres et toujours celles de EXTERNAL_API_KEYS ; 503 seulement si aucune clé active - routes /api/external-api/keys (session + admin) - documentation et .env.example mis à jour Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrRFddV2BaqDCxGY1j52UJ
This commit is contained in:
1 parent
b964e137bf
commit
6760f43e87
11 files changed
+576
-19
No files matched your search
@@ -8,8 +8,15 @@ Code : `server/externalApi.ts`. Préfixe : `/api/ext/v1`.
|
||||
|
||||
## Activation et authentification
|
||||
|
||||
Définir une ou plusieurs clés (séparées par des virgules) dans l'environnement,
|
||||
puis redémarrer :
|
||||
**Depuis LogiFlow (recommandé)** : *Paramètres > API externe* (admin). On y
|
||||
crée une clé par outil (nommée, ex. « n8n comptabilité »), affichée une seule
|
||||
fois à sa création, avec sa date de dernière utilisation ; une clé se révoque
|
||||
d'un clic, sans redémarrage. Seule l'empreinte SHA-256 de la clé est stockée
|
||||
(table `external_api_keys`). L'onglet s'ouvre directement par
|
||||
`/utilities?tab=api`.
|
||||
|
||||
**Par l'environnement (optionnel)** : des clés peuvent aussi être définies,
|
||||
séparées par des virgules, puis le serveur redémarré :
|
||||
|
||||
```
|
||||
EXTERNAL_API_KEYS=3f9c…a1,7b20…e4
|
||||
@@ -21,7 +28,8 @@ Générer une clé :
|
||||
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||||
```
|
||||
|
||||
Variable vide ou absente : l'API répond `503` (désactivée).
|
||||
Aucune clé active (ni dans Paramètres, ni dans l'environnement) : l'API répond
|
||||
`503` (désactivée).
|
||||
|
||||
Chaque requête envoie la clé dans l'un de ces en-têtes :
|
||||
|
||||
|
||||
Reference in new issue
Block a user