feat: émettrice SSO draco_session — cookie partagé .dracodev.net, renouvellement et révocation (#216)
This commit is contained in:
+24
-1
@@ -1,6 +1,6 @@
|
||||
# ObsiGate — Roadmap
|
||||
|
||||
> **Version :** 2.70.1 | **Dernière mise à jour :** 2026-10-20
|
||||
> **Version :** 2.71.0 | **Dernière mise à jour :** 2026-10-20
|
||||
> **Ce fichier ne contient que le travail à venir** (🔵 En cours + ⚪ Backlog) et un index compact
|
||||
> vers les fonctionnalités livrées.
|
||||
> - **Méthode de livraison à appliquer pour toute tâche : [DELIVERY_WORKFLOW.md](./DELIVERY_WORKFLOW.md)**
|
||||
@@ -56,6 +56,29 @@
|
||||
bandeau « Tâche TikTak projetée » + « Ouvrir dans TikTak »
|
||||
- [x] i18n FR/EN (clés `draco.links.*`), tests `test_external_refs.py`
|
||||
|
||||
### 216. Fusion ACC-3.1 — émettrice SSO `draco_session`
|
||||
|
||||
- **Effort :** ~1 jour | **Impact :** 🟢 | **Ouvert :** 2026-10-21 | **Statut :** ✅ livré le 2026-10-21 (2.71.0)
|
||||
- **Fiche :** [features/fusion-acc31-sso-draco-session-216.md](./features/fusion-acc31-sso-draco-session-216.md)
|
||||
- **Description :** couche 2 (identité) du programme **Fusion** — décision C2
|
||||
de Bruno : cookie de session partagé sous `.dracodev.net` (architecture
|
||||
v2.0 §5.2, option 2a). ObsiGate est l'unique émettrice ; les autres apps
|
||||
valideront localement (ACC-3.2). Issue Gitea ObsiGate #8 ; épopée
|
||||
Projets/fusion-trois-apps#7.
|
||||
- **Sous-tâches :**
|
||||
- [x] Module `backend/draco_session.py` : JWS HS256, claims minimaux
|
||||
(sub, name, iat, exp 12 h, jti — aucun rôle), rotation par
|
||||
`DRACO_SESSION_SECRET_PREV`, inerte sans `DRACO_SESSION_SECRET`
|
||||
- [x] Émission du cookie à chaque `_issue_tokens` (mot de passe ou MFA)
|
||||
- [x] Renouvellement glissant (middleware ASGI `DracoRenewalMiddleware`,
|
||||
fenêtre 2 h, conditionné au cookie d'accès natif valide)
|
||||
- [x] Déconnexion globale : révocation du jti (`data/draco_revoked.json`)
|
||||
+ effacement du cookie ; `GET /api/sso/revocations` sous clé machine
|
||||
- [x] `GET /sso/authorize` : `return_to` en liste blanche
|
||||
`*.dracodev.net` (anti open-redirect), retour post-connexion
|
||||
re-validé côté frontend (`auth.js`)
|
||||
- [x] Tag OpenAPI « SSO », tests `test_draco_session.py` (22)
|
||||
|
||||
### 196. Partage dirigé entre utilisateurs (document → utilisateur)
|
||||
|
||||
- **Effort :** 0,5-1 jour | **Impact :** 🟡 | **Ouvert :** 2026-10-10 | **Statut :** ✅ livré le 2026-10-10
|
||||
|
||||
Reference in New Issue
Block a user