Je veux être Fournisseur d'Identité FranceConnect #
Pour devenir Fournisseur d'Identité FranceConnect, il faut envoyer votre demande à l'adresse support.partenaires@franceconnect.gouv.fr avec les éléments suivants :
- Nom du fournisseur d'identité
- Titre (tel qu'il apparaîtra aux utilisateurs FranceConnect)
- Email de contact
- URL du endpoint d'authentification et d'autorisation
- URL du endpoint de demande de token
- URL du endpoint de demande des informations utilisateur (identité pivot)
- URL du endpoint de logout ( norme OIDC )
- URL de endpoint de métadonnée '.well-known/openid-configuration'
- Status URL (URL pour tester l'état du fournisseur d'identité)
- Client ID
- Client secret
- Niveau eidas ( eidas1 - faible, eidas2 - substantiel, eidas3 - élevé)
- Logo
Nos Endpoints #
En environnement de bac à sable et de production FranceConnect, les endpoints sont disponibles en HTTPS.
FranceConnect doit être capable d'interroger le FI. Pensez à configurer votre proxy, si nécessaire, pour autoriser l'accès Internet depuis FranceConnect.
Connexion #
Environnement | Adresse de retour ( Redirect URI ) |
---|---|
bac à sable FranceConnect (ancienne version) |
https://fcp.integ01.dev-franceconnect.fr/oidc_callback |
production FranceConnect (ancienne version) |
https://app.franceconnect.gouv.fr/oidc_callback |
bac à sable FranceConnect | https://fcp-low.integ01.dev-franceconnect.fr/api/v2/oidc-callback |
production FranceConnect | https://oidc.franceconnect.gouv.fr/api/v2/oidc-callback |
bac à sable FranceConnect+ | https://auth.integ01.dev-franceconnect.fr/api/v2/oidc-callback |
production FranceConnect+ | https://auth.franceconnect.gouv.fr/api/v2/oidc-callback |
Déconnexion #
Environnement | Adresse de retour ( Post Logout Redirect URI ) |
---|---|
bac à sable FranceConnect (ancienne version) |
https://fcp.integ01.dev-franceconnect.fr/api/v1/logout/redirect_from_provider |
production FranceConnect (ancienne version) |
https://app.franceconnect.gouv.fr/api/v1/logout/redirect_from_provider |
bac à sable FranceConnect | https://fcp-low.integ01.dev-franceconnect.fr/api/v2/client/logout-callback |
production FranceConnect | https://fcp-low.integ01.dev-franceconnect.fr/api/v2/client/logout-callback |
bac à sable FranceConnect+ | https://auth.integ01.dev-franceconnect.fr/api/v2/client/logout-callback |
production FranceConnect+ | https://auth.franceconnect.gouv.fr/api/v2/client/logout-callback |
Clés de chiffrement (pour FranceConnect+) #
Environnement | JWKS URI (contenant les clés publiques de chiffrement) |
---|---|
bac à sable FranceConnect+ | https://auth.integ01.dev-franceconnect.fr/api/v2/client/.well-known/keys |
production FranceConnect+ | https://auth.franceconnect.gouv.fr/api/v2/client/.well-known/keys |
Détail du fonctionnement #
sequenceDiagram participant U as Utilisateur participant FC participant FI Note right of U : L'utilisateur a <br/>choisi son FI FC->>FI: GET [issuer]/.well-known/openid-configuration FI-->>FC: HTTP 200 Note left of FI : FC récupère les <br/>métadatas du FI FC->>FI: GET [jwks_uri] FI-->>FC: HTTP 200 Note left of FI : FC récupère les clés <br/>publiques du FI FC-->>U : Redirect 302 [authorization_endpoint] U->>FI : GET [authorization_endpoint] Note left of FI : Authentification <br/>utilisateur par le FI<br/><br/>(Implémentation <br/>spécifique au FI) FI-->>U: Redirect 302 [fc issuer]/oidc-callback U->>FC: GET [fc issuer]/oidc-callback FC->>FI: POST [token_endpoint] FI-->>FC: HTTP 200 FC->>FI: GET [userinfo_endpoint] FI-->>FC: HTTP 200 Note left of FI : Le FI détruit <br/>la session de <br/>l'utilisateur
Les access token fournis par le fournisseur d'identité doivent être de préférence à usage unique, ou si cela n'est pas possible, avec une durée de vie très courte (https://openid.net/specs/openid-connect-core-1_0.html#rfc.section.16.18).
Détail des flux #
Les flux entre FranceConnect et le fournisseur d'identité respectent ce qui est défini dans la norme OpenId Connect. Pour plus de détails, il faut se référer à la documentation OIDC https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth.