Aller au contenu principal

Authentification de l'API plateforme (JWT)

L'API REST vitalera utilise l'authentification JWT (JSON Web Token) basee sur le standard OAuth 2.0.

Obtention des identifiants

Contactez support@vitalera.io pour demander :

  • Client ID -- identifie votre application
  • Client Secret -- authentifie votre application
  • Application ID -- utilise pour la rotation des identifiants

Client Credentials Grant

Pour les integrations serveur a serveur (machine-to-machine) :

curl -X POST "https://api.vitalera.io/api/auth/tokens/" \
-H "Content-Type: application/json" \
-d '{
"grant_type": "client_credentials",
"client_id": "<CLIENT_ID>",
"client_secret": "<CLIENT_SECRET>"
}'

Reponse :

{
"access_token": "<ACCESS_TOKEN>",
"token_type": "Bearer",
"expires_in": 3600
}

Password Grant

Pour les flux de connexion utilisateur (par exemple, applications mobiles ou web authentifiant des utilisateurs individuels) :

curl -X POST "https://api.vitalera.io/api/auth/tokens/" \
-H "Content-Type: application/json" \
-d '{
"grant_type": "password",
"username": "<USERNAME>",
"password": "<PASSWORD>"
}'

Reponse :

{
"id_token": "<ID_TOKEN>",
"access_token": "<ACCESS_TOKEN>",
"refresh_token": "<REFRESH_TOKEN>",
"sub": "<USER_ID>"
}

Effectuer des requetes API

Incluez le jeton d'acces dans l'en-tete Authorization de chaque requete :

curl -X GET "https://api.vitalera.io/api/plans/" \
-H "Authorization: Bearer <ACCESS_TOKEN>"

Validite des jetons

Les jetons d'acces sont valides pendant 1 heure (3600 secondes). Lorsqu'un jeton expire, l'API retourne HTTP 401 Unauthorized :

{
"errors": [
{
"errorType": "expired_token",
"message": "Access token expired"
}
]
}

Rafraichissement des jetons

Si vous avez obtenu un refresh token (via password grant), vous pouvez rafraichir votre jeton d'acces sans vous re-authentifier :

curl -X POST "https://api.vitalera.io/api/auth/tokens/refresh/" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-d '{
"refresh_token": "<REFRESH_TOKEN>"
}'

Validation des jetons

Verifiez qu'un jeton est toujours valide :

curl -X GET "https://api.vitalera.io/api/auth/tokens/validate/" \
-H "Authorization: Bearer <ACCESS_TOKEN>"

Rotation des identifiants

Pour la securite, effectuez periodiquement une rotation de vos identifiants client. Cela necessite un JWT valide et l'application_id :

curl -X POST "https://api.vitalera.io/api/applications/rotate_credentials/" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"application_id": "<APPLICATION_ID>"
}'

Reponse :

{
"id": "<APPLICATION_ID>",
"name": "TestApp",
"organization": "123",
"client_id": "<NEW_CLIENT_ID>",
"client_secret": "<NEW_CLIENT_SECRET>",
"application_types": ["API"]
}

Apres la rotation, les identifiants precedents sont invalides immediatement.


Besoin d'aide ?

Contactez support@vitalera.io pour une assistance a la configuration de l'authentification.