Gérer la déconnexion
Vous devez permettre à vos utilisateurs de se déconnecter de leur session Pro Santé Connect active à travers votre applicatif.
La déconnexion, une fois initiée, s'applique à l'ensemble de la session de l'utilisateur. Pro Santé Connect invalide la session de l'utilisateur mais n'envoie pas dynamiquement l'information aux fournisseurs de services.
Pour connaître la validité d'une session le fournisseur de service doit introspecter l'access_token ou bien faire une demande de rafraîchissement du jeton.
Pro Santé Connect ne prend pas en charge la déconnexion par canal frontal et la déconnexion par canal arrière.
Fonctionnement de la déconnexion à l’initiative du FS
La déconnexion à l’initiative du fournisseur de service (FS) fait l’objet de la spécification OpenIDConnect (OIDC) suivante : https://openid.net/specs/openid-connect-rpinitiated-1_0.html
Déconnecter l’utilisateur revient à :
- en Code Flow :
- Terminer la session Pro Santé Connect de cet utilisateur.
- Rediriger cet utilisateur vers l’URL de déconnexion fournie dans le paramètre post_logout_redirect_uri, si celui-ci est renseigné.
- en CIBA :
- Terminer la session Pro Santé Connect de cet utilisateur.
Les endpoints de déconnexion
Environnement | URL du endpoint |
Bac à sable | https://auth.bas.psc.esante.gouv.fr/auth/realms/esante-wallet/protocol/openid-connect/logout |
Production | https://auth.esw.esante.gouv.fr/auth/realms/esante-wallet/protocol/openid-connect/logout |
Détails des flux
- Origine : FS
- Cible : PSC
- Type d'appel : redirection navigateur
Méthodes d’appel supportées :
- GET : les paramètres seront passés dans l’URL (utilisation de l'ID token)
La requête GET
Paramètre | Obligatoire | Valeur |
id_token_hint | Oui | L’id_token ayant été délivré par le token endpoint suite à l'authentification de l’utilisateur pour lequel la déconnexion est demandée. |
post_logout_redirect_uri | Non | Il s’agit de l’URL de déconnexion renseignée à la création de votre service. Elle doit être strictement identique à celle renseignée auprès de Pro Santé Connect. Ce paramètre n'est pas utilisé en CIBA. |
Lorsque l'utilisateur cliquera sur votre bouton déconnexion il sera redirigé vers l'URL fournie dans post_logout_redirect_uri (en Code Flow uniquement, si ce paramètre est renseigné), et sa session Pro Santé Connect sera terminée.
La session Pro Santé Connect d'un utilisateur est globale : la déconnexion d'un utilisateur de Pro Santé Connect s'applique à tous les services et appareils sur lesquels cet utilisateur s'est connecté.
Réponse
Si la déconnexion s’est bien déroulée, le serveur renvoie :
- une réponse HTTP 302 lorsque le paramètre post_logout_redirect_uri a été fourni
- une réponse HTTP 200 lorsque le paramètre post_logout_redirect_uri n'a pas été fourni