Skip to main content

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

TokenDurée de vieUsage
Access Token15 minutesÀ envoyer dans le header Authorization: Bearer <token> sur chaque requête
Refresh Token7 joursPermet 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ôleDescription
CANDIDATUtilisateur qui postule à des offres. Accès : son profil, les offres publiques, ses candidatures.
RECRUTEURPublie des offres pour le compte d’une entreprise. Doit être validé par un admin.
ADMINModère candidats, recruteurs, entreprises, offres, contenu blog.
SUPER_ADMINAccè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).