ADR-0011 — API Platform 3.x — auth par API key header (pas JWT)
| Statut | Accepté |
|---|---|
| Date | 2025-09-01 |
| Auteurs | Julien Jorry |
Contexte
L'API Kohinos est consommée par quelques intégrations identifiées (HelloAsso, PayZen, exports comptables). JWT impose une rotation de clés, un revocation mechanism, un cycle de refresh tokens. Trop lourd pour 3–5 consommateurs connus.
Décision
Auth API via header X-API-KEY, validée par un guard authenticator Symfony dédié. Stockage des clés en BDD chiffrées (libsodium secretbox). Rotation manuelle par le trésorier.
Conséquences positives
- Simplicité : une clé par intégration.
- Rotation manuelle assumée et audit-friendly.
- Pas de bundle JWT à maintenir.
Conséquences négatives
- Pas de claims (rôles, scopes) sans extension custom.
- Rotation manuelle = discipline opérationnelle.
Alternatives examinées
- JWT (LexikJWTAuthenticationBundle) — rejeté : trop lourd pour notre usage.
- OAuth2 — rejeté : pas d'utilisateur final à habiliter.