Authentifications

Différents modes d’authentification

Dans la DevBox-Santé MSS, le choix a été fait de définir un mode d’authentification privilégiée le mode Authentication in Header HTTP.

Authentification In Header

Dans le cas d’authentification authInHeader (Le type d’autentification est renseigné dans le fichier de configuration, cf: Configuration V1 et v2)

Le connecteur dispose de 4 modes d’authentification possibles :

  • Jeton PSC (Pro Santé Connect) (V2)
  • Certificat p12 (BAL applicative) (V2)
  • Token de session après authentification avec Login / Mot de passe et OTP (Mailiz)
  • Carte CPS (Mailiz)

Lors d’un appel à un service REST, la requête doit contenir les informations dans le header HTTP suivante :

  • operator pour désigner l’opérateur MSS choisi (un endpoint permet de donner la liste des opérateurs possibles)
  • userName pour initialiser la session SMTP/IMAP

Une fois l’operator choisi et le userName connu, il faut mettre à disposition dans le header HTTP les informations d’authentifications :

Certificat PSC (pro santé connect)

Cette authentification est disponible pour les BALs personnelles/individuelles ou organisationnelles.

Le client doit au préalable récupérer un jeton PSC (access token) via son serveur d’authentification enregistré auprès de l’ANS et le passer aux requêtes dans un header. Ce token est généralement valable 4-5 minutes. Le client doit donc redemander régulièrement un nouveau jeton à son serveur d’authentification.

PSC auth

Exemple:

headers {
  mssAuthentication.operator: mailiz
  mssAuthentication.pscToken: MIIcbAIBA...Bv4sVwVpAICCAA=
  mssAuthentication.userName: xxx-pers@mssante.fr
}

Certificat p12 (bal applicative)

Cette authentification est disponible pour les BALs applicatives. L’application cliente se connecte à la mssanté via un certificat p12 et le mot de passe associé qui sont passé dans les headers lors de chaque appel au connecteur.

Exemple:

headers {
  mssAuthentication.operator: medimail
  mssAuthentication.password: password
  mssAuthentication.p12: MIIcbAIBA...Bv4sVwVpAICCAA=
  mssAuthentication.userName: xxx-applicatif-test@medimail.mssante.fr
}

Le certificat p12 doit être encodé en base64.

Login, mot de passe et OTP (mailiz avec les API v1)

Cette authentification est disponible pour mailiz mais avec les API v1. Le client s’authentifie via des services de connexion REST et doit repasser le cookie correspondant à la session courante lors de chaque appel au connecteur.

Exemple:

headers {
  mssAuthentication.operator: mailiz-v1
  Cookie: JSESSIONID=1139181CDF6638784181753183EC32A5
}

Carte CPS (mailiz avec les API v1)

Cette authentification est disponible pour mailiz mais avec les API v1. Le client s’authentifie l’utilitaire CPS de la DevBox Santé puis doit repasser le cookie correspondant à la session courante lors de chaque appel au connecteur.

Exemple:

headers {
  mssAuthentication.operator: mailiz-v1
  Cookie: JSESSIONID=1139181CDF6638784181753183EC32A5
}