Endpoints disponibles
FranceConnect et FranceConnect+
L'ensemble des endpoints décrit dans cette page est valable pour FranceConnect et FranceConnect+. Si des distrinctions sont à faire, elles sont indiquées au niveau de la documentation du endpoint concerné.
FranceConnect et FranceConnect+ mettent en oeuvre le protocole OpenID Connect pour permettre à un Fournisseur de Services de déléguer l'identification et l'authentification des usagers. Pour connaitre l'enchainement des endpoints à utiliser au cours d'une cinématique, nous vous invitons à consulter les diagrammes de séquences de FranceConnect et de FranceConnect+
OpenID Configuration Endpoints #
Description
Implémente la requête de Provider Configuration
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationRequest
Paramètres
Aucun
Réponses
code http | content-type | réponse |
---|---|---|
200 | application/json;charset=utf-8 | Document JSON décrivant la configuration de FranceConnect/FranceConnect+ |
Exemple d'appel
GET /api/v2/.well-known/openid-configuration HTTP/1.1
Host: auth.integ01.dev-franceconnect.fr
Configuration sur l'environnement d'intégration:
- FranceConnect+ : https://auth.integ01.dev-franceconnect.fr/api/v2/.well-known/openid-configuration
- FranceConnect : https://fcp-low.integ01.dev-franceconnect.fr/api/v2/.well-known/openid-configuration
Description
Liste les clés de signature utilisées par FranceConnect/FranceConnect+
Paramètres
Aucun
code http | content-type | réponse |
---|---|---|
200 | application/json;charset=utf-8 | Document JSON décrivant les clés de signature de FranceConnect/FranceConnect+ |
Exemple d'appel
GET /api/v2/jwks HTTP/1.1
Host: auth.integ01.dev-franceconnect.fr
Clés sur l'environnement d'intégration:
-
FranceConnect+ : https://auth.integ01.dev-franceconnect.fr/api/v2/jwks
-
FranceConnect : https://fcp-low.integ01.dev-franceconnect.fr/api/v2/jwks
Authorization Endpoint #
Description
Implémente le Authorization Endpoint
de OpenID Connect:
https://openid.net/specs/openid-connect-core-1_0.html#AuthorizationEndpoint
Paramètres
nom | requis/optionnel | type de données | description |
---|---|---|---|
response_type |
requis | string | code |
client_id |
requis | string | <CLIENT_ID> Identifiant du fournisseur de service, communiqué lors de son inscription auprès de FranceConnect / FranceConnect+ |
redirect_uri |
requis | string | <FS_URL>/<URL_CALLBACK> Url de retour vers le fournisseur de service (encodée), communiquée lors de son inscription auprès de FranceConnect / FranceConnect+ |
acr_values |
requis | string | - eidas2, eidas3 : FranceConnect+ supporte les niveaux eIDAS substantiel et élevé - eidas1 : FranceConnect supporte uniquement le niveaux eIDAS faible |
scope |
requis | string | <SCOPES> Liste des scopes demandés séparés par des espaces (%20 au format unicode dans l'URL) ou des '+' |
claims |
optionnel | string | <CLAIMS> Objet JSON encodé décrivant les claims demandés (Voir spécification Openid Connect) |
state |
requis | string (minimum 22 caractères) | <STATE> Champ obligatoire, généré aléatoirement par le fournisseur de service, que FranceConnect / FranceConnect+ renvoie tel quel dans la redirection qui suit l'authentification, pour être ensuite vérifié par le fournisseur de service. Il est utilisé afin d’empêcher l’exploitation de failles CSRF |
nonce |
requis | string (minimum 22 caractères) | <NONCE> Champ obligatoire, généré aléatoirement par le fournisseur de service que FranceConnect / FranceConnect+ renvoie tel quel dans la réponse à l'appel au Token Endpoint , pour être ensuite vérifié par le fournisseur de service. Il est utilisé pour empêcher les attaques par rejeu |
prompt |
optionnel | string | login force une demande de réauthentification avec le fournisseur d'identité à chaque connexion |
Réponses
code http | content-type | réponse |
---|---|---|
303 (succès) |
text/html;charset=UTF-8 |
Redirection vers la page de sélection du fournisseur d'identité /api/v2/interaction/{interactionHash} où {interactionHash} est un hash lié à la session de l'usager |
303 (erreur) |
`text/html;charset=UTF-8 | Redirection vers le fournisseur de service après erreur de connexion |
400 (mauvais format) |
text/html;charset=UTF-8 |
La page d'erreur avec codeY000400 est affichée en cas de mauvais format |
Exemple d'appel
GET /api/v2/authorize?response_type=code&prompt=login&acr_values=eidas2&
scope=openid+gender+given_name+family_name+email+preferred_username&
claims=%7B%22id_token%22%3A%7B%22amr%22%3A%7B%22essential%22%3Atrue%7D%7D%7D&
client_id=6925fb8143c76eded44d32b40c0cb1006065f7f003de52712b78985704f39950&
redirect_uri=https%3A%2F%2Ffsp1v2.integ01.fcp.fournisseur-de-service.fr%2Foidc-callback&
state=9ed67ae42fdc5d0a6867a5425a284745f4f73ce8b6edf76e453487aa1b73cc89&
nonce=7db9b35458f2288bade947791f1c8fa2d02954f8eb7d9909dc68784f7c4aea29 HTTP/1.1
Host: auth.integ01.dev-franceconnect.fr
Description
Implémente le Authorization Endpoint
de Openid Connect:
https://openid.net/specs/openid-connect-core-1_0.html#AuthorizationEndpoint
Entête
nom | requis/optionnel | valeur |
---|---|---|
Content-Type |
requis | application/x-www-form-urlencoded |
Body
nom | requis/optionnel | type de données | description |
---|---|---|---|
response_type |
requis | string | code |
client_id |
requis | string | <CLIENT_ID> Identifiant du fournisseur de service, communiqué lors de son inscription auprès de FranceConnect/FranceConnectC+ |
redirect_uri |
requis | string | <FS_URL>%2F<URL_CALLBACK> Url de retour vers le fournisseur de service (encodée), communiquée lors de son inscription auprès de FranceConnect / FranceConnect+ |
acr_values |
requis | string | - eidas2, eidas3 : FranceConnect+ supporte les niveaux eIDAS substantiel et élevé - eidas1 : FranceConnect supporte uniquement le niveaux eIDAS faible |
scope |
requis | string | <SCOPES> Liste des scopes demandés séparés par des espaces (%20 au format unicode dans l'URL) ou des '+' |
claims |
optionnel | string | <CLAIMS> Objet JSON encodé décrivant les claims demandés (Voir spécification Openid Connect) |
state |
requis | string (minimum 32 caractères) | <STATE> Champ obligatoire, généré aléatoirement par le fournisseur de service, que FranceConnect/FranceConnect+ renvoie tel quel dans la redirection qui suit l'authentification, pour être ensuite vérifié par le fournisseur de service. Il est utilisé afin d’empêcher l’exploitation de failles CSRF |
nonce |
requis | string (minimum 32 caractères) | <NONCE> Champ obligatoire, généré aléatoirement par le fournisseur de service que FC renvoie tel quel dans la réponse à l'appel au Token Endpoint , pour être ensuite vérifié par le fournisseur de service. Il est utilisé pour empêcher les attaques par rejeu |
prompt |
optionnel | string | login force une demande de réauthentification avec le fournisseur d'identité à chaque connexion |
Réponses
code http | content-type | réponse |
---|---|---|
303 (succès) |
text/html;charset=UTF-8 |
Redirection vers la page de recherche des fournisseur d'identité /api/v2/interaction/{interactionHash} où {interactionHash} est un hash lié à la session de l'usager |
303 (erreur) |
text/html;charset=UTF-8 |
[Redirection vers le fournisseur de service après erreur de connexion](#redirection-vers-le-fournisseur de service-après-erreur-de-connexion) |
400 (mauvais format) |
text/html;charset=UTF-8 |
La page d'erreur avec code Y000400 est affichée en cas de mauvais format |
Exemple d'appel
POST /api/v2/authorize HTTP/1.1
Host: auth.integ01.dev-franceconnect.fr
Content-Type: application/x-www-form-urlencoded
response_type=code&prompt=login&acr_values=eidas2&
scope=openid+gender+given_name+family_name+email+preferred_username&
claims=%7B%22id_token%22%3A%7B%22amr%22%3A%7B%22essential%22%3Atrue%7D%7D%7D&
client_id=6925fb8143c76eded44d32b40c0cb1006065f7f003de52712b78985704f39950&
redirect_uri=https%3A%2F%2Ffsp1v2.integ01.fcp.fournisseur-de-service.fr%2Foidc-callback&
state=9ed67ae42fdc5d0a6867a5425a284745f4f73ce8b6edf76e453487aa1b73cc89&
nonce=7db9b35458f2288bade947791f1c8fa2d02954f8eb7d9909dc68784f7c4aea29
Redirection vers le fournisseur de service après erreur de connexion #
Description
Redirection vers le fournisseur de service après une erreur de connexion.
FranceConnect+ renvoie le code d'erreur, la description de l'erreur et le state.
Paramètres
nom | requis/optionnel | type de données | description |
---|---|---|---|
error |
requis | string | code d'erreur |
error_description |
requis | string | description de l'erreur |
state |
requis | string (minimum 32 caractères) | <STATE> communiqué par par le fournisseur de service dans l'appel au Authorization Endpoint . Cette information est à vérifier par le fournisseur de service, afin d’empêcher l’exploitation de failles CSRF |
Exemple d'appel
Exemple de retour vers le fournisseur de service de mock
GET /oidc-callback?state=9ed67ae42fdc5d0a6867a5425a284745f4f73ce8b6edf76e453487aa1b73cc89
error_description=User+auth+aborted&error=access_denied HTTP/1.1
Host: fsp1v2.integ01.fcp.fournisseur-de-service.fr
Redirection vers le fournisseur de service après connexion #
Description
Redirection vers le fournisseur de service après connexion chez le fournisseur d'identité.
FranceConnect / FranceConnect+ renvoie le code d'autorisation et le state.
Paramètres
nom | requis/optionnel | type de données | description |
---|---|---|---|
code |
requis | string | <AUTHZ_CODE> code d'autorisation à transmettre au Token Endpoint |
state |
requis | string (minimum 32 caractères) | <STATE> communiqué par par le fournisseur de service dans l'appel au Authorization Endpoint . Cette information est à vérifier par le fournisseur de service, afin d’empêcher l’exploitation de failles CSRF |
Exemple d'appel
Exemple de retour vers le fournisseur de service de mock
GET /oidc-callback?code=_DOF10msXreojwyScrXmfqvwp8q3p1G7ZIzatMj60it&
state=9ed67ae42fdc5d0a6867a5425a284745f4f73ce8b6edf76e453487aa1b73cc89 HTTP/1.1
Host: fsp1v2.integ01.fcp.fournisseur-de-service.fr
Token Endpoint #
Description
Implémente le Token Endpoint
de Openid Connect:
https://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint
Entête
nom | requis/optionnel | valeur |
---|---|---|
Content-Type |
requis | application/x-www-form-urlencoded |
Body
nom | requis/optionnel | type de données | description |
---|---|---|---|
grant_type |
requis | string | authorization_code |
client_id |
requis | string | <CLIENT_ID> Identifiant du fournisseur de service, communiqué lors de son inscription auprès de FranceConnect/FranceConnect+ |
client_secret |
requis | string | <CLIENT_SECRET> Le secret du fournisseur de service, communiqué lors de son inscription auprès de FranceConnect/FranceConnect+ |
redirect_uri |
requis | string | <FS_URL>%2F<URL_CALLBACK> Url de retour vers le fournisseur de service (encodée), communiqué lors de l'appel au Authorization Endpoint |
code |
requis | string | <AUTHZ_CODE> code d'autorisation fourni après connexion de l'usager |
Réponses
code http | content-type | réponse |
---|---|---|
200 |
application/json;charset=utf-8 |
La réponse contenant l'access token |
400 |
application/json;charset=utf-8 |
JSON document décrivant l'origine de l'erreur de format |
Format de la réponse en succès
{
'access_token': <ACCESS_TOKEN>,
'token_type': 'Bearer',
'expires_in': 60,
'id_token': <ID_TOKEN>
}
Voir le format de l'id_token.
UserInfo Endpoint #
Description
Implémente le UserInfo Endpoint
de Openid Connect:
https://openid.net/specs/openid-connect-core-1_0.html#UserInfo
Entête
nom | requis/optionnel | valeur |
---|---|---|
Authorization |
requis | Bearer <ACCESS_TOKEN> où <ACCESS_TOKEN> a été communiqué par le Token Endpoint |
Paramètres
Aucun
Réponses
code http | content-type | réponse |
---|---|---|
200 |
application/jwt |
JSON Web Token contenant les claims transmis par le fournisseur d'identité |
400 |
application/json;charset=utf-8 |
JSON document décrivant l'origine de l'erreur de format |
Voir le format de userinfo.
Logout Endpoint #
Description
Implémente le Logout Endpoint
de Openid Connect:
http://openid.net/specs/openid-connect-session-1_0.html#RPLogout
Attention : cet appel doit être réalisé via une redirection dans le navigateur de l'usager, afin d'expirer les cookies de session FranceConnect / FranceConnect+ et du fournisseur d'identité.
Paramètres
nom | requis/optionnel | type de données | description |
---|---|---|---|
id_token_hint |
requis | string | JWT renvoyé par le endpoint Token Endpoint |
state |
requis | string | <STATE> Champ obligatoire, généré aléatoirement par le fournisseur de service, que FC+ renvoie tel quel dans la redirection qui suit la déconnexion, pour être ensuite vérifié par le fournisseur de service. Il est utilisé afin d’empêcher l’exploitation de failles CSRF |
post_logout_redirect_uri |
requis | string | <POST_LOGOUT_REDIRECT_URI> L'URL de redirection vers le fournisseur de service après la déconnexion |
Réponses
code http | content-type | réponse |
---|---|---|
303 |
text/html;charset=UTF-8 |
Redirection vers le fournisseur d'identité pour déconnexion, puis redirection vers le fournisseur de service après déconnexion |
Exemple d'appel
GET /api/v2/session/end?id_token_hint=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI3MDRlMDI0Mj
I5MDE1ZDJiZDQ3ZjdhNWU1YWIwNWIzNWM4MzM2YWI0MDNjMzgwMjI5ODVmOGNmYWRjODZmZTkxIiwiYW1yIjpbInB3ZCJdLCJ
hdXRoX3RpbWUiOjE2Njg1MzAzMjYsImFjciI6ImVpZGFzMSIsIm5vbmNlIjoiYWZjODFmZGExZmJiNmQzYzg3NmFmNzVjNzM3
YTEzMDdhMWIyOWJhMDg3M2VmYTA1OWU0NTM1ZDEyMmM5ZGI1YSIsImF0X2hhc2giOiJJVEJTV1J2NW1HRmxxTGQ0Sm5nbnRnI
iwiYXVkIjoiNjkyNWZiODE0M2M3NmVkZWQ0NGQzMmI0MGMwY2IxMDA2MDY1ZjdmMDAzZGU1MjcxMmI3ODk4NTcwNGYzOTk1MC
IsImV4cCI6MTY2ODUzMDM4NiwiaWF0IjoxNjY4NTMwMzI2LCJpc3MiOiJodHRwczovL2ZjYS5pbnRlZzAxLmRldi1hZ2VudGN
vbm5lY3QuZnIvYXBpL3YyIn0.hg1n4WJbzZECwz4VldAybXYreEXJ4fxpSWqDs9V4tTk&
state=3b7bd7fb38ccab89864563f17a89c4cb3bd400164ce828b4cfc2cb01ce8ed9da&
post_logout_redirect_uri=https%3A%2F%2Ffsa1v2.integ01.dev-agentconnect.fr%2Flogout-callback HTTP/1.1
Host: auth.integ01.dev-franceconnect.fr
Redirection vers le fournisseur de service après déconnexion #
Description
Redirection vers le fournisseur de service après déconnexion.
FranceConnect / FranceConnect+ renvoie le state communiqué par le fournisseur de service lors de la demande de déconnexion.
Paramètres
nom | requis/optionnel | type de données | description |
---|---|---|---|
state |
requis | string (minimum 32 caractères) | <STATE> communiqué par par le fournisseur de service dans l'appel au Logout Endpoint . Cette information est à vérifier par le fournisseur de service, afin d’empêcher l’exploitation de failles CSRF |
Exemple d'appel
Exemple de retour vers le fournisseur de service de mock à déconnexion
GET /logout-callback?state=3b7bd7fb38ccab89864563f17a89c4cb3bd400164ce828b4cfc2cb01ce8ed9da HTTP/1.1
Host: fsp1v2.integ01.fcp.fournisseur-de-service.fr