Authentification
AuthInHeaderDans la version 5 de la DevBox-santé, nous avons proposé le mode d’authentification p12 dans l’entête Http pour le DMP
Dans la version 6 de la DevBox-santé, nous l’avons généralisé à l’ensemble des composants et avons ajouté la possibilité de s’authentifier avec une carte CPS via le DevBox-Santé agent.
Dans la version 7, nous avons ajouté l’authentification PSC avec le bearer de la DevBox-Santé eProxy.
En clair, maintenant la mise en œuvre des différents MIE (Moyens d’Identification Electroniques) mis à disposition par l’ANS se passent par l’entête HTTP.
Pour obtenir ces MIE : /7.x/howtos/cartesetcertificats
CPS avec le DbxAgent
Si dans l’entête HTTP le paramètre dbx-agent-sessionId est trouvé, la DevBox-Santé va tenter de contacter un DevBox-Santé agent sur une websocket ouverte d’un poste utilisateur afin de communiquer avec sa carte CPS et/ou vitale. Comme par exemple :
headers {
dbx-agent-sessionId: 2cf3e022-09af-dd83-f462-c6d7693fa176
}
Exemple de requêtes avec l’agent :
- Lecture de carte CPS : https://bitbucket.org/devbox-sante/dbx-examples-bruno/src/master/dbx/cps/3.x/dbx-agent/readCpsCardInfoWithoutSelectActivity.bru
- Appel de la td0.2 du DMP : https://bitbucket.org/devbox-sante/dbx-examples-bruno/src/master/dbx/dmp/7.x/authentification/dbx-agent/TD0.2%20-%20dbx-agent.bru
- Lecture de la carte vitale : https://bitbucket.org/devbox-sante/dbx-examples-bruno/src/master/dbx/vitale/2.x/dbx-agent/readVitaleWithCps%20-%20dbx-agent.bru
P12InHeader
Si dans l’entête HTTP un des paramètres P12 est trouvé, la DevBox-Santé va tenter de s’authentifier au téléservice avec les certificats de l’entête HTTP.
Pour le DMP :
headers {
dbx-dmpAuthentication-p12: MIIcmwIBAe...IIAA==
dbx-dmpAuthentication-password: xxxxxxxxx
dbx-dmpSignature-p12: MIIcmwIBAe...IIAA==
dbx-dmpSignature-password: xxxxxxxxx
}
Pour l’INSI :
headers {
dbx-amoP12-p12: MIIcmwIBAe...IIAA==
dbx-amoP12-password: xxxxxxxxx
}
Exemple de requêtes avec ce mode d’authentification :
- Appel de la td0.2 du DMP : https://bitbucket.org/devbox-sante/dbx-examples-bruno/src/master/dbx/dmp/7.x/authentification/p12InHeader/TD0.2%20-%20p12InHeader.bru
ProSanté Connect avec la DevBox-Santé eProxy dbx-proxy-bearer
Si dans l’entête HTTP le paramètre dbx-proxy-bearer est trouvé, c’est ce bearer qui sera utilisé par la DevBox-Santé pour s’authentifier auprès de la DevBox-Santé-eproxy. Ce dernier une fois l’authentification validée, va réaliser les échanges de jetons avec le service d’échange de jetons, et “proxyfier” la requête.
header {
dbx-proxy-bearer : Bearer eyJhbGciOiJIU...
}
Exemple sur un environnement de démonstration
Vous pouvez tester ces modes d’authentification depuis l’environnement de démonstration : https://demo.devbox-sante.fr