Authentification du fournisseur de données
L'accès au endpoint /api/v2/checktoken nécessite une authentification du fournisseur de données. Si l'authentification est invalide, l'accès au service d'introspection n'est pas autorisé.
sequenceDiagram
participant FD as Fournisseur de données
participant FC as FranceConnect
FD->>FC : POST /api/v2/checktoken (access token + authN FD)
FC->>FC : check authN FD
alt authN FD valide
FC-->>FD : HTTP 200
else authN FD invalide
FC-->>FD : HTTP 401
end
Pour accéder au endpoint /api/v2/checktoken qui permet de vérifier la validité du token, le fournisseur de données doit s'authentifier en utilisant le client_id et le client_secret qui ont été communiqués lors de l'enregistrement sur la plateforme souhaitée.
- client_id : identifiant du fournisseur de données. Celui-ci est communiqué lors de la déclaration du fournisseur de données.
- client_secret : secret du fournisseur de données. Celui-ci est communiqué lors de la déclaration du fournisseur de données.
le client_id et le client_secret varient d'un environnement à l'autre. Ils ont des valeurs différentes sur l'environnement d'intégration et de production. Il en est de même entre FranceConnect et FranceConnect+.
Ces deux informations doivent être communiquées dans le corps de la requête au /api/v2/checktoken
POST /api/v2/checktoken HTTP/1.1
Host: fcp-low.integ01.dev-franceconnect.fr
User-Agent: curl/7.68.0
Accept: _/_
Content-Type: application/x-www-form-urlencoded
Content-Length: 172
Connection: close
client_id=423dcbdc5a77fcf61ed00ff5989d72379c26d9ed4c8e4e05a87cffae019586e0&client_secret=36bb214e7a7743c8da60ae991d8908947147d637137c5bf14bc2fc53e1055847&
token=529caefdfdfdeee0c5387e003aa51aaad77b6b263ce12b33e1c7c89cb1e18151cv1
Dans le cas où l'authentification du fournisseur de données échoue (client_id ou client_secret incorrect), une réponse HTTP 401 est renvoyée.
HTTP/1.1 401 Unauthorized
Date: Fri, 05 Jan 2024 13:03:21 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 78
Connection: close
{"error":"invalid_client","error_description":"Client authentication failed."}
En bref
Le client_id et le client_secret doivent être passés en paramètre lors de l'appel au service d'introspection /api/v2/checktoken pour permettre d'authentifier le fournisseur de données.