Authentification
L’API THE HIVE utilise le protocole JWT (JSON Web Tokens). Après connexion, chaque requête vers une route protégée doit inclure un access token dans l’en-tête Authorization.
Tokens
| Token | Durée de vie | Usage |
|---|
| Access Token | 15 minutes | À envoyer dans le header Authorization: Bearer <token> sur chaque requête |
| Refresh Token | 7 jours | Permet d’obtenir un nouvel access token sans se reconnecter |
Les tokens sont stockés en base et peuvent être révoqués (déconnexion). Une blacklist Redis partagée entre les VPS garantit qu’un token révoqué est rejeté immédiatement.
Flux de connexion
Exemple — Connexion
curl -X POST https://api.wethehivers.com/v1/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "candidat@example.com",
"password": "motdepasse"
}'
Réponse :
{
"accessToken": "eyJhbGciOiJIUzUxMiJ9...",
"refreshToken": "eyJhbGciOiJIUzUxMiJ9...",
"tokenType": "Bearer",
"expiresIn": 900
}
Exemple — Requête authentifiée
curl https://api.wethehivers.com/v1/api/candidats/me \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..."
Rôles
| Rôle | Description |
|---|
CANDIDAT | Utilisateur qui postule à des offres. Accès : son profil, les offres publiques, ses candidatures. |
RECRUTEUR | Publie des offres pour le compte d’une entreprise. Doit être validé par un admin. |
ADMIN | Modère candidats, recruteurs, entreprises, offres, contenu blog. |
SUPER_ADMIN | Accès complet, y compris logs d’audit et configuration plateforme. |
La déconnexion (POST /auth/logout) blackliste l’access token en cours. Pensez à supprimer aussi les tokens côté client (localStorage, cookies).