Authentication

Comment s'authentifier auprès de l'API ITCare ?

L'API ITCare utilise le protocole OAuth 2.0 pour l'authentification et les autorisations. Elle supporte les scénarios OAuth 2.0 habituels tels que ceux utilisés pour les serveurs web et les applications clientes. Cela signifie que chaque requête API doit contenir un header "Authorization" embarquant un token d'accès précédemment obtenu grâce à des identifiants.

curl -X GET "https://itcare.cegedim.cloud/itcare/{api-definition}/{api-endpoint}" -H "Authorization: Bearer {token}"

Comment obtenir un compte API ?

Pour interroger l'API ITCare, un compte API est requis afin de pouvoir obtenir le token d'accès obligatoire. Pour obtenir ce compte API, une requête doit être soumise aux équipes support cegedim.cloud en fournissant les informations suivantes :

  • L'organisation cible

  • Une description simple de l'usage cible de l'API

Comment obtenir un token d'accès ?

Pour obtenir un token d'accès, le client doit soumettre une requête au endpoint /token. Le serveur d'autorisation exige l'authentification (base64-encodé) du client pour délivrer un access_token. Voici un exemple de demande d'access_token :

curl -X POST "https://accounts.cegedim.cloud/auth/realms/cloud/protocol/openid-connect/token" \
-H "Authorization: Basic $(echo -n 'CLIENT_ID:CLIENT_SECRET' | base64)" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials"

En général, on peut utiliser la commande base64 pour encoder une chaîne de caractères. L'utilisation d'outils en ligne de commande sous Linux, par exemple :

$echo -n 'CLIENT_ID:CLIENT_SECRET' | base64
(donne la base64 du couple CLIENT_ID:CLIENT_SECRET)

Si la demande d'access_token est autorisée et valide, voici un exemple de réponse :

{
   "access_token":"...",
   "expires_in":1200,
   "refresh_expires_in":7200,
   "refresh_token":"...",
   "token_type":"bearer"
}

Lorsque le token expire, il est possible de :

  • Demander un nouvel access_token

  • Rafraîchir le token en interrogeant le endpoint /token

curl -X POST "https://accounts.cegedim.cloud/auth/realms/cloud/protocol/openid-connect/token" \
-H "Authorization: Basic $(echo -n 'CLIENT_ID:CLIENT_SECRET' | base64)" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&refresh_token=****************"

Last updated