Authentification patient

Authentification de l’application client

Chaque application connectée à l’API MesVaccins.net doit disposer d’une clef d’accès (uid) et d’un mot de passe (secret). Ce couple clef/mot de passe est généré manuellement pour l’application par l’équipe MesVaccins.net.

Ces clefs sont transmises avec les requêtes en utilisant la méthode d’authentification HTTP Basic : le login est la clef assignée à l’application, et le mot de passe est son mot de passe associé.

Authentification du patient

Le compte patient est authentifié par le protocole OAuth. De ce fait, toute requête doit comporter le token d’accès OAuth access_token dans son entête, permettant d’identifier côté serveur le compte patient sur lequel la requête doit être appliquée. Ce token est récupéré par le service :

  • POST /oauth/token permet de générer ou rafraîchir un token OAuth pour un compte patient.

Lors de la première obtention de token d’accès, les paramètres sont :

{
    "username": "login du compte",
    "password": "mot de passe du compte",
    "grant_type": "password"
}

Pour les obtentions de tokens suivantes (rafraîchissements de token), les paramètres sont les suivants :

{
    "refresh_token": "f9fab3d67de376a2c9f66654b66449a630d3969fa2071d472d0a6ba93d4d099d",
    "grant_type": "refresh_token"
}

Dans ce cas on utilise le refresh_token retourné lors de la première obtention de token, pour ne pas avoir à stocker le couple login/mot de passe.

Dans tous les cas, la réponse est sous la forme :

{
    "access_token": "d277392916ec11fa1040a9c3f418faa17af658fd09f6da19e3df411a246912c7",
    "refresh_token": "f9fab3d67de376a2c9f66654b66449a630d3969fa2071d472d0a6ba93d4d099d",
    "token_type": "bearer",
    "expires_in": 7200
}
  • access_token est le token d’accès à passer dans dans l’entête “Authorization” de chaque requête, sous la forme : Authorization: Bearer d277392916ec11fa1040a9c3f418faa17af658fd09f6da19e3df411a246912c7
  • refresh_token est le token de rafraichissement permettant d’obtenir un nouveau token d’accès valide après expiration du token d’accès
  • token_type indique le type de token
  • expires_in indique la durée de validité du token en secondes. Après expiration, un nouveau token doit être obtenu à l’aide du refresh_token.