1. Génération d’un JWT

Une fois le bundle installé et configuré, Symfony expose par défaut un endpoint /api/login_check (sauf si tu l’as personnalisé dans security.yaml).

Ce point d’entrée permet de récupérer un jeton en échange d’un couple username/password.

Requête curl pour obtenir le token

curl -X POST <http://localhost:8080/api/external/login_check> \\
  -H "Content-Type: application/json" \\
  -d '{"username":"[email protected]", "password":"mon_mot_de_passe"}'
   curl -X 

👉 Remplacez [email protected] et mon_mot_de_passe par les identifiants (email et mot de passe) d’un utilisateur déjà présent dans la base de données.

Réponse

{
  "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1..."
}

Le champ token contient le JWT à mettre en en-tête des requêtes protégées.

2. Utiliser le JWT dans les appels API

Les routes protégées doivent recevoir le jeton dans l’en-tête Authorization.

Exemple de requête curl authentifiée

curl -X GET <http://localhost:8080/api/external/profile> \\
  -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOi..."

Seules les requêtes préfixées par /api/external peuvent-êtres accessibles via une authentification JWT.