Parcours de bout en bout
Cette page décrit le parcours complet d’un utilisateur, depuis le clic sur votre ressource dans le médiacentre de l’ENT jusqu’à l’affichage de votre application authentifiée, en passant par la création de session par ProxyNinja et la récupération des attributs.
Le principe central côté éditeur tient en une phrase :
« Ai‑je une session ? Non → je demande à ProxyNinja (qui a déjà authentifié l’utilisateur) → je récupère les attributs. »
Les acteurs
Section intitulée « Les acteurs »| Acteur | Rôle |
|---|---|
| Utilisateur | Élève ou enseignant, déjà authentifié dans son ENT. |
| Médiacentre (ENT) | Catalogue de ressources de l’ENT ; publie votre landing. |
| GAR | Le fournisseur d’identité de l’Éducation nationale (et IDP assimilés). |
| ProxyNinja | Le fournisseur d’identité managé (OP OIDC / IdP SAML / serveur CAS) qui vous fait face. |
| Ressource | Votre application (le Service Provider / Relying Party). |
Diagramme de séquence
Section intitulée « Diagramme de séquence »Les flèches pleines représentent des actions/redirections du navigateur ; les flèches en pointillé représentent les échanges de fédération d’identité.
sequenceDiagram actor U as Utilisateur (élève / enseignant) participant MC as Médiacentre (ENT) participant GAR as GAR (IdP) participant PN as ProxyNinja (OP managé) participant R as Ressource (votre application) Note over U,MC: L'utilisateur est déjà authentifié dans son ENT U->>MC: Clic sur la landing de la ressource MC->>R: Redirection vers le point d'entrée (URL de login) rect rgb(235, 243, 255) Note over R: Point d'entrée fonctionnel R->>R: Ai-je une session locale ? → NON R-->>PN: Demande d'authentification (OIDC /authorize · SAML AuthnRequest · CAS /login) end rect rgb(235, 255, 243) Note over PN,GAR: ProxyNinja établit / réutilise l'identité GAR PN-->>GAR: Authentification pour la ressource (si nécessaire) GAR-->>PN: Jeton / assertion d'authentification Note over PN: Session ProxyNinja créée end PN-->>R: Redirection avec code / ticket (déjà authentifié — aucune re-saisie) rect rgb(255, 248, 235) Note over R,PN: Récupération des jetons et des attributs R->>PN: Échange code → jetons (/token) R->>PN: Récupération des attributs (/userinfo · claims · validation ticket) PN-->>R: id_token + access_token + attributs end R->>R: Création de la session locale R-->>U: Accès à la ressource (authentifié)
Étape par étape
Section intitulée « Étape par étape »- Publication de la landing. Votre ressource est publiée dans le médiacentre de l’ENT. La vignette pointe vers votre point d’entrée (l’URL de login que vous nous communiquez — voir le questionnaire, section F).
- Clic de l’utilisateur. L’utilisateur, déjà authentifié dans son ENT, clique sur votre ressource. Le navigateur est redirigé vers votre point d’entrée.
- Vérification de session (point d’entrée fonctionnel). Votre application se
pose une seule question : « ai‑je déjà une session locale pour cet
utilisateur ? »
- Oui → vous servez directement la ressource.
- Non → vous déclenchez l’authentification auprès de ProxyNinja
(
/authorizeen OIDC,AuthnRequesten SAML,/loginen CAS).
- ProxyNinja crée la session. ProxyNinja délègue (ou réutilise) l’identité GAR pour la ressource, reçoit le jeton/assertion d’authentification et crée la session ProxyNinja. Comme l’utilisateur vient du médiacentre, cette étape est en général transparente (pas de nouvelle saisie d’identifiants).
- Retour à votre point d’entrée. ProxyNinja redirige le navigateur vers votre
redirect_uri(OIDC) / Assertion Consumer Service (SAML) / service (CAS) avec un code ou un ticket. - Récupération des jetons et des attributs. Votre application échange le code
contre des jetons (
/token) puis récupère les attributs via/userinfo(OIDC), l’assertion (SAML) ou la validation du ticket (CAS). Voir la référence des attributs GAR. - Session locale + accès. Vous créez la session locale (cookie de session serveur recommandé) et l’utilisateur accède à la ressource.
Et pour la déconnexion ?
Section intitulée « Et pour la déconnexion ? »La fermeture de session est propagée par ProxyNinja vers votre ressource via le back‑channel logout (OIDC) ou le Single Logout (SAML/CAS). Votre application doit invalider la session locale en quelques secondes — n’attendez jamais l’expiration naturelle d’un jeton. Voir le guide d’intégration → déconnexion.
La suite
Section intitulée « La suite »- Vous voulez mettre en œuvre ce parcours ? → Guide d’intégration
- Vous voulez savoir quels attributs vous recevrez ? → Référence des attributs GAR