Authentifications
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.
Exemple:
headers {
mssAuthentication.operator: mailiz
mssAuthentication.psc: 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
}