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é doivent respecter 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.