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. Que ce soit pour authentifier un utilisateur avec ProSantéConnect ou accéder à une BAL applicative, il faut passer dans le Header HTTP l’ensemble des iformations d’authentification.

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 {
  dbx-mssAuthentication-operator: mailiz
  dbx-mssAuthentication-psc: MIIcbAIBA...Bv4sVwVpAICCAA=
  dbx-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 {
  dbx-mssAuthentication-operator: medimail
  dbx-mssAuthentication-password: password
  dbx-mssAuthentication-p12: MIIcbAIBA...Bv4sVwVpAICCAA=
  dbx-mssAuthentication-userName: xxx-applicatif-test@medimail.mssante.fr
}

Le certificat p12 doit être encodé en base64.