---
title: "Authentification"
description: "Toutes les routes /admin/* sont gardées par AdminAuthenticationMiddleware :"
---

Toutes les routes `/admin/*` sont gardées par [AdminAuthenticationMiddleware](../src/Http/Middleware/AdminAuthenticationMiddleware.php) :

- Header attendu : `Authorization: Bearer <token>`.
- Le token est comparé à `ADMIN_API_TOKEN` (env) en **temps constant** (`hash_equals()`).
- **Fail-closed** : si `ADMIN_API_TOKEN` est vide (ou absent), **toutes** les requêtes renvoient `403`. C'est l'état par défaut — un déploiement qui n'a pas configuré l'env n'expose pas la surface admin.

Génération d'un token :
```bash
openssl rand -hex 32
# ⇒ par ex. 4a1b… (64 caractères hex)
```

À renseigner dans `.env` :
```
ADMIN_API_TOKEN=4a1b...
```

## Réponses d'auth

```http
HTTP/1.1 403 Forbidden
Content-Type: application/json

{ "error": "Missing or malformed Authorization header." }
```

Les messages d'erreur 403 sont volontairement précis pour faciliter le debug côté Talend — la surface est censée n'être atteignable que par des callers déjà authentifiés réseau (allowlist IP au reverse-proxy recommandée).

---
