Diagrammes de séquence
Ces page présente les diagrammes de séquence d'une cinématique de connexion et de déconnexion de FranceConnect et de FranceConnect+.
Diagramme de séquence simplifié
Ce diagramme de séquence présente de manière simplifiée les interactions entre l'usager, FranceConnect / FranceConnect+ et le fournisseur de service. Il est valable aussi bien pour FranceConnect que pour FranceConnect+. il omet volontairement les mécanismes de récupération des informations de configuration, de signature et de chiffrement.
Diagramme de séquence FranceConnect
Ce diagramme de séquence présente de manière détaillée les interactions entre l'usager, FranceConnect et le fournisseur de service. Il n'est valable que pour FranceConnect et détaille les mécanismes suivants:
- Récupération des données de configuration via la discovery url ;
- Récupération des clés publiques de signature de FranceConnect ;
- Vérification de la signature des jetons par le fournisseur de service ;
Diagramme de séquence FranceConnect+
Ce diagramme de séquence présente de manière détaillée les interaction entre l'usager, FranceConnect+ et le fournisseur de service. Il n'est valable que pour FranceConnect+ et détaille les mécanismes suivants:
- récupération des données de configuration via la discovery url
- récupération des clés publiques de signature de FranceConnect+
- récupération des clés publique de chiffrement du fournisseur de service
- déchiffrement des jetons par le fournisseur de service
- vérification de la signature des jetons par le fournisseur de service
Précisions sur la récupération des informations #
Récupération de la configuration de FranceConnect / FranceConnect+ #
La récupération des métadonnées FranceConnect ou de FranceConnect+ est optionnelle mais permet de récupérer dynamiquement l'ensemble de la configuration, des urls exposant les clés de signature et les algorithmes utilisés. Il est toujours possible d'indiquer manuellement la configuration de FranceConnect ou de FranceConnect+ en s'assurant régulièrement que cette configuration n'a pas évolué. Il est fortement recommandé d'utiliser la récupération dynamique des métadonnées.
La récupération des métadonnées via la discovery url
n'est pas obligatoire à chaque connexion mais doit se faire régulièrement. Celles-ci pouvant évoluer, il est nécessaire que le fournisseur de service s'assure d'avoir les bonnes données.
Récupération des clés publiques de signature #
Le fournisseur de service n'est pas obligé de récupérer à chaque appel les clés publiques de signature de FranceConnect / FranceConnect+. Ces dernières changeant régulièrement, le fournisseur de service doit donc régulièrement les redemander pour s'assurer d'avoir toujours les clés publiques de signature valides.
Récupération de l'identité pivot lors de la cinématique de connexion #
La récupération de l'identité pivot (UserInfo) doit être effectuée immédiatement après les appels précédents (authentification et récupération du code). La durée de validité d'un access_token est de 30 secondes.
Il n'est pas possible d'appeler des ressources nécessitant l'access_token en dehors de ce délai.
Diagramme de séquence simplifié #
Ce diagramme de séquence présente de manière simplifié les interactions entre l'usager, FranceConnect / FranceConnect+ et le fournisseur de service. Il ne détaille pas :
- l'utilisation de la discovery url pour récupérer les données de configuration
- la récupération des clés publiques de FranceConnect / FranceConnect+ et de celles du fournisseur service
- le déchiffrement de jetons JWT et la vérification des signatures
Ces informations sont cependant disponibles dans les diagrammes de séquences détaillés de FranceConnect et FranceConnect+.
sequenceDiagram autonumber participant U as Utilisateur participant FC as FranceConnect participant FS as Fournisseur de Service Note right of U : L'utilisateur clique <br/>sur le bouton <br/>"FranceConnect" U->>+FC: GET / POST <FC_URL>/api/v2/authorize FC-->>-U: Redirect 302 <FS_URL>/<POST_LOGIN_REDIRECT_URI> U->>+FS: GET <FS_URL>/<POST_LOGIN_REDIRECT_URI> FS->>+FC: POST <FC_URL>/api/v2/token FC-->>-FS: HTTP Response 200 FS->>+FC: GET <FC_URL>/api/v2/userinfo FC-->>-FS: HTTP Response 200 FS-->>-U: Redirect 302 <FS_URL>/page_authentifiée note right of U: Plus tard, <br /> l'utilisateur se <br/> déconnecte U->>+FS: GET / POST ... FS-->>-U: Redirect 302 <FC_URL>/api/v2/session/end U->>+FC: GET <FC_URL>/api/v2/session/end FC-->>-U: Redirect 302 <FS_URL>/<POST_LOGOUT_REDIRECT_URI> U->>FS: GET <FS_URL>/<POST_LOGOUT_REDIRECT_URI>
- Suite au clique de l'usager sur le bouton FranceConnect, l'usager est rediriger vers FranceConnect sur l'url /authorize
- Après s'être authenfié, FranceConnect redirige l'usager vers le fournisseur de service
- L'usager retourne vers la post login redirect uri du fournisseur de service
- Le fournisseur de service appel FranceConnect pour récupérer l'ID Token
- FranceConnect retourne l'ID Token
- Le fournisseur de service demande à FranceConnect le /UserInfo
- FranceConnect retourne le UserInfo
- Le fournisseur de service retourne la page demandé à l'usager et est authentifié
- Plus tard, l'usager se déconnecte du fournisseur de service
- Le fournisseur de service redirige l'usager vers la page de deconnexion de FranceConnect
- L'usager demande la page de déconnexion de FranceConnect
- Une fois déconnecté de son fournisseur d'identité et de FranceConnect, FranceConnect redirige l'usager vers la post_logout_redirect_uri
- L'usager est redirigé vers la post_logout_redirect_uri du fournisseur de service
Diagramme de séquence FranceConnect #
sequenceDiagram autonumber participant U as Utilisateur participant FC as FranceConnect participant FS as Fournisseur de Service Note right of U : L'utilisateur clique <br/>sur le bouton <br/>"FranceConnect" opt Récupération des metadatas FS->>+FC: GET <FC_URL>/.well-known/openid-configuration FC-->>-FS: HTTP 200 Note left of FS : FS récupère les <br/>métadatas de FC end U->>+FC: GET / POST <FC_URL>/api/v2/authorize FC-->>-U: Redirect 302 <FS_URL>/<POST_LOGIN_REDIRECT_URI> U->>+FS: GET <FS_URL>/<POST_LOGIN_REDIRECT_URI> FS->>+FC: POST <FC_URL>/api/v2/token FC-->>-FS: HTTP Response 200 opt récupération des clés publiques de FC FS->>+FC: GET <FC_URL>/api/v2/jwks FC-->>-FS: HTTP Response 200 - Clés de signature end FS->>FS: Vérification de la signature FS->>+FC: GET <FC_URL>/api/v2/userinfo FC-->>-FS: HTTP Response 200 opt récupération des clés publiques de FC+ FS->>+FC: GET <FC_URL>/api/v2/jwks FC-->>-FS: HTTP Response 200 - FC+ public keys end FS->>FS: Vérification de la signature FS-->>-U: Redirect 302 <FS_URL>/page_authentifiée note right of U: Plus tard, <br /> l'utilisateur se <br/> déconnecte U ->> FS: GET / POST ... FS-->>U: Redirect 302 <FC_URL>/api/v2/session/end U->>FC: GET <FC_URL>/api/v2/session/end FC-->>U: Redirect 302 <FS_URL>/<POST_LOGOUT_REDIRECT_URI> U-->FS: GET <FS_URL>/<POST_LOGOUT_REDIRECT_URI>
- En amont de la cinématique, le fournisseur de service récupère la configuration de FranceConnect via la discovery urlFranceConnect
- FranceConnect retourne sa configuration
- Suite au clique de l'usager sur le bouton FranceConnect, l'usager est rediriger vers FranceConnect sur l'url /authorize
- Après s'être authenfié, FranceConnect redirige l'usager vers le fournisseur de service
- L'usager retourne vers la post login redirect uri du fournisseur de service
- Le fournisseur de service appel FranceConnect pour récupérer l'ID Token
- FranceConnect retourne l'ID Token signé
- Le fournisseur de service demande à FranceConnect ses clés publiques de signature
- FranceConnect retourne ses clés publiques de signature
- Le fournisseur de service vérifie la signature de l'ID Token
- Le fournisseur de service demande à FranceConnect le /UserInfo
- FranceConnect retourne le UserInfo signé
- Le fournisseur de service demande à FranceConnect ses clés publiques de signature
- FranceConnect retourne ses clés publiques de signature
- Le fournisseur de service vérifie la signature du UserInfo
- Le fournisseur de service retourne la page demandé à l'usager et est authentifié
- Plus tard, l'usager se déconnecte du fournisseur de service
- Le fournisseur de service redirige l'usager vers la page de deconnexion de FranceConnect
- L'usager demande la page de déconnexion de FranceConnect
- Une fois déconnecté de son fournisseur d'identité et de FranceConnect, FranceConnect redirige l'usager vers la post_logout_redirect_uri
- L'usager est redirigé vers la post_logout_redirect_uri du fournisseur de service
Diagramme de séquence de FranceConnect+ #
sequenceDiagram autonumber participant U as Utilisateur participant FC as FranceConnect+ participant FS as Fournisseur de Service Note right of U : L'utilisateur clique <br/>sur le bouton <br/>"FranceConnect+" opt Récupération des metadatas FS->>+FC: GET <FC_URL>/.well-known/openid-configuration FC-->>-FS: HTTP 200 Note left of FS : FS récupère les <br/>métadatas de FC+ end U->>+FC: GET / POST <FC_URL>/api/v2/authorize FC-->>-U: Redirect 302 <FS_URL>/<POST_LOGIN_REDIRECT_URI> U->>+FS: GET <FS_URL>/<POST_LOGIN_REDIRECT_URI> FS->>+FC: POST <FC_URL>/api/v2/token FC->>+FS: GET <FS public keys> FS-->>-FC: HTTP Response 200 - FS public keys FC-->>-FS: HTTP Response 200 FS->>FS: Déchiffrement Id Token opt récupération des clés publiques de FC+ FS->>+FC: GET <FC_URL>/api/v2/jwks FC-->>-FS: HTTP Response 200 - FC+ public keys end FS->>FS: Vérification de la signature FS->>+FC: GET <FC_URL>/api/v2/userinfo opt récupération des clés publics du FS FC-->>+FS: HTTP Response 200 - FS public keys FS-->>-FC: HTTP Response 200 end FC-->>-FS: HTTP Response 200 FS->>FS: Déchiffrement UserInfo opt récupération des clés publiques de FC+ FS->>+FC: GET <FC_URL>/api/v2/jwks FC-->>-FS: HTTP Response 200 - FC+ public keys end FS->>FS: Vérification de la signature FS-->>-U: Redirect 302 <FS_URL>/page_authentifiée note right of U: Plus tard, <br /> l'utilisateur se <br/> déconnecte U ->> FS: GET / POST ... FS-->>U: Redirect 302 <FC_URL>/api/v2/session/end U->>FC: GET <FC_URL>/api/v2/session/end FC-->>U: Redirect 302 <FS_URL>/<POST_LOGOUT_REDIRECT_URI> U-->>FS: GET <FS_URL>/<POST_LOGOUT_REDIRECT_URI>
- En amont de la cinématique, le fournisseur de service récupère la configuration de FranceConnect+ via la discovery url
- FranceConnect+ retourne sa configuration
- Suite au clique de l'usager sur le bouton FranceConnect+, l'usager est rediriger vers FranceConnect sur l'url /authorize
- Après s'être authenfié, FranceConnect+ redirige l'usager vers le fournisseur de service
- L'usager retourne vers la post login redirect uri du fournisseur de service
- Le fournisseur de service appel FranceConnect+ pour récupérer l'ID Token
- FranceConnect+ demande au fournisseur de service ses clés publiques de chiffrement
- Le fournisseur de service retourne ses clés publiques de chiffrement
- FranceConnect+ retourne l'ID Token chiffré et signé
- Le fournisseur de service déchiffre l'ID Token
- Le fournisseur de service demande à FranceConnect+ ses clés publiques de signature
- FranceConnect+ retourne ses clés publiques de signature
- Le fournisseur de service vérifie la signature de l'ID Token
- Le fournisseur de service demande à FranceConnect+ le /UserInfo
- FranceConnect+ demande au fournisseur de service ses clés publiques de chiffrement
- Le fournisseur de service retourne ses clés publiques de chiffrement
- FranceConnect+ retourne le UserInfo chiffré et signé
- Le fournisseur de service déchiffre le UserInfo
- Le fournisseur de service demande à FranceConnect+ ses clés publiques de signature
- FranceConnect+ retourne ses clés publiques de signature
- Le fournisseur de service vérifie la signature du UserInfo
- Le fournisseur de service retourne la page demandé à l'usager et est authentifié
- Plus tard, l'usager se déconnecte du fournisseur de service
- Le fournisseur de service redirige l'usager vers la page de deconnexion de FranceConnect+
- L'usager demande la page de déconnexion de FranceConnect+
- Une fois déconnecté de son fournisseur d'identité et de FranceConnect+, FranceConnect+ redirige l'usager vers la post_logout_redirect_uri
- L'usager est redirigé vers la post_logout_redirect_uri du fournisseur de service