1. Génération d’un JWT

Symfony expose par défaut un endpoint /api/login_check .

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"}' 

👉 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.

<aside> ℹ️

Ce token est valable 1h.

</aside>

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 sont accessibles via une authentification JWT.

3. Récupération de l’identifiant anonymisateur de l’utilisateur (encryptId)

Pour exécuter certaines routes, il est nécessaire d’avoir l’identifiant anonymisateur de l’utilisateur courant, appelé encryptId dans la documentation. Cette identifiant est retrouvable dans la carte Administration sur la page de visualisation détaillée de l’organisation.

image.png

<aside> ℹ️

Si vous ne possédez pas les droits pour accéder à cette carte, veuillez vous rapprocher du support qui vous communiqueront cet identifiant.

</aside>