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.