Introduction à l’introspection
L’introspection permet à un fournisseur de service (FS) de valider un jeton auprès du serveur d’authentification (AS) de Pro Santé Connect (PSC)
Pour pouvoir interroger le endpoint d’introspection il est nécessaire que le FS soit habilité à interroger les endpoints de PSC.
Les endpoints d'introspection
La mise en œuvre de l’introspection
La demande
- Méthode d’appel : POST
- Body Content-type : application/x-www-form-urlencoded
- Authentification: Basic Auth
Paramètre | Obligatoire | Valeur |
token | Oui | l'access_token ou le refresh_token émis par Pro Santé Connect |
Exemple pour un appel avec une authentification avec un client ID et un client secret :
POST /introspect HTTP/1.1 Host: PSC.introspection.endpoint Accept: application/json Content-Type: application/x-www-form-urlencoded Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== token=mF_9.B5f-4.1JqM
La réponse du serveur
Le serveur renvoie les éléments suivants :
Paramètre | Valeur |
exp | Heure d'expiration du jeton au format Epoch |
iat | Heure d'émission du jeton ("Issued AT") au format Epoch. |
auth_time | Heure de l'authentification au format Epoch. |
jti | Identifiant unique du jeton permettant de révoquer le jeton et empêcher le rejeu. |
iss | Identité de l’émetteur du jeton. URL de l’endpoint de jetons du serveur d’identification. |
sub | Identifiant technique de l’utilisateur final |
typ | "Bearer" |
azp | nom du service |
nonce | Chaine de caractère associant la session du système cible à l’ID token. Contient la valeur du nonce de la requête d’authentification du système cible. Le « nonce » est nécessaire afin d’éviter les attaques par rejeu. |
session_state | la valeur de session |
preferred_username | Identifiant National du professionnel de santé |
acr | "eidas1" |
scope | les scopes appelés lors de l'authentification |
sid | Identifiant de la session utililisateur. |
authMode | La méthode d'authentification |
SubjectNameID | Identifiant National du Professionnel de Santé |
client _id | Le client_ID ayant porté l'authentification |
username | Identifiant National du professionnel de santé |
active | Booléen (True/false) qui indique si le jeton présenté est toujours actif ou non. |