- Authentification auprès de ProSantéConnect par le flux CIBA en mTLS ou "Basic Auth"
- Echange du jeton PSC par un jeton d'API à longue durée de vie en mTLS
- 4 heures dans le cas de l'API de vérification de la conformité :
- le hash du certificat utilisé pour l'échange du jeton est ajouté dans le claim cnf du jeton d'API.
- Gestion de la session du proxy par utilisateur/LPS et production d'un cookie de session
- Contrôle d'accès sur le endpoint '/send' du cookie de session.
- Deconnexion explicite de l'utilisateur avec appel au endpoint /logout de ProSantéConnect
- Collecte des traces des actions de connexion, déconnnexion et appels aux endpoint /send
- Restitution des traces sur le endpoint /traces au format JSON.
- Expiration de session (Remplacer le composant ReactiveMapSessionRepository (Gestion des sessions en mémoire pour l'exemple) par le composant ReactiveRedisIndexedSessionRepository pour gérer nativement l'expiration de session et émettre les évenements SessionDestroyedEvent
- Revocation des jeton d'API à l'expiration de session et à la déconnexion
- Rafaichissement des jetons d'API si nécessaire.
- Persistance des traces.
Que faire si le build échoue avec le message Some files do not have the expected license header. Run license:format to update them. ?
-
Rectifier les en-têtes à l'aide de cette commande :
mvn validate license:format
-
Vérifier puis committer les changements
Exécuter la commande suivante à la racine du projet:
docker build . -t ans.gouv.fr/psc-edc-proxy-esanteLancer la ligne de commande ci-dessous, où peut être :
OFFERRORWARNINFODEBUGTRACE
java -Dlogging.level.fr.gouv.ans=<LEVEL> -Dspring.config.location=/path/to/cfg/application.yml -jar psc-esante-proxy-example-0.0.1-SNAPSHOT.jarPour déployer le proxy sous forme de container Docker, il faut lui fournir un fichier de configuration monté
sur le chemin /usr/app/config/application.yml.
docker run -v /host/path/to/configuration/application.yml:/usr/app/config/application.yml ans.gouv.fr/psc-edc-proxy-esanteLes logs de debug du code applicatif peuvent être activés en définissant la variable LOG_LEVEL avec la valeur DEBUG
docker run -e LOG_LEVEL=DEBUG -v /host/path/to/configuration/application.yml:/usr/app/config/application.yml ans.gouv.fr/psc-edc-proxy-esanteVoir fichier exemple : src/test/resources/application.yml
Si vous souhaitez ajouter des autorités de certification spécifiques à votre environnement à celles qui
sont automatiquement reconnues, vous pouvez ajouter les paramètres -v /path/to/AC/directory:/certificates -e USE_SYSTEM_CA_CERTS=1
docker run -v /path/to/AC/directory:/certificates -e USE_SYSTEM_CA_CERTS=1 -v /host/path/to/configuration/application.yml:/usr/app/config/application.yml ans.gouv.fr/psc-edc-proxy-esanteLe répertoire /path/to/AC/directory doit contenir le ou les certificat(s)
au format PEM avec l'extension .crt.