[ACC-3.1] Émettrice SSO — cookie draco_session #8
Open
opened 2026-10-20 21:19:35 -04:00 by bruno
·
1 comment
No Branch/Tag Specified
main
secrets-afficher-copier
barre-v0111-2-82-7
barre-logos-2-82-6
barre-logos-2-82-5
fix/retrait-splash-demarrage
fix/recherche-texte-theme-parasite
federation-recherche-console
console-federation-recherche
obsigate-recherche-theme
align-recherche-console
alertes-onglets-5
recherche-onglets-ux-68
coffre-distribuables
cors-recherche-alertes-68-69
recherche-partout-68-rebase
alertes-unifiees-69-rebase
recherche-partout-68
alertes-unifiees-69
fusion-70-barre-console-spark
barre-apps-v0.1.6-obsigate
fix/version-2.81.1
fix/sidebar-console-style-domaine
fix/ci-tests-openapi-themes
fix/icone-secrets-coffre-fort
fix/ruff-coffres-imports
fix/version-2.81.0
feat/coffre-phase5-deploiement
feat/coffre-phase2
fix/mypy-coffre-2.80.2
fix/version-2.80.1-ruff
feat/theme-spark
feat/coffre-secrets-phase1
v2.82.8
v2.82.7
v2.82.6
v2.82.5
v2.82.4
v2.82.3
v2.82.2
v2.82.1
v2.82.0
v2.81.4
v2.81.3
v2.81.2
v2.81.1
v2.81.0
v2.80.2
v2.80.1
v2.80.0
v2.79.0
v2.78.2
v2.78.1
v2.78.0
v2.77.1
v2.77.0
v2.76.1
v2.76.0
v2.75.0
v2.74.1
v2.74.0
v2.73.1
v2.73.0
v2.72.1
v2.72.0
v2.71.0
v2.70.1
v2.70.0
v2.69.0
v2.68.6
v2.68.5
v2.68.4
v2.68.3
v2.68.2
v2.68.1
v2.68.0
v2.67.2
v2.67.1
v2.67.0
v2.66.0
v2.65.2
v2.65.1
v2.65.0
v2.64.0
v2.63.0
v2.62.0
v2.61.0
v2.60.0
v2.58.0
v2.57.1
v2.57.0
v2.56.0
v2.55.0
v2.54.0
v2.53.3
v2.53.2
v2.53.1
v2.53.0
v2.52.0
v2.51.0
v2.50.2
v2.50.1
v2.50.0
v2.49.4
v2.49.2
v2.49.1
v2.49.0
v2.48.0
v2.47.1
v2.47.0
v2.46.0
v2.45.2
v2.45.1
v2.45.0
v2.44.1
v2.44.0
v2.43.2
v2.43.1
v2.43.0
v2.42.0
v2.41.0
v2.40.0
v2.39.10
v2.39.9
v2.39.8
v2.39.7
v2.39.6
v2.39.5
v2.39.4
v2.39.3
v2.39.2
v2.39.1
v2.39.0
v2.38.0
v2.37.0
v2.36.0
v2.35.0
v2.34.0
v2.33.0
v2.32.0
v2.31.0
v2.30.0
v2.29.0
v2.28.16
v2.28.15
v2.28.14
v2.28.13
v2.28.12
v2.28.11
v2.28.10
v2.28.9
v2.28.8
v2.28.7
v2.28.6
v2.28.5
v2.28.4
v2.28.3
v2.28.2
v2.28.1
v2.28.0
v2.27.12
v2.27.11
v2.27.10
v2.27.9
v2.27.8
v2.27.7
v2.27.6
v2.27.5
v2.27.4
v2.27.3
v2.27.2
v2.27.1
v2.27.0
v2.25.1
v2.25.0
v2.24.0
v2.23.0
v2.22.1
v2.22.0
v2.21.0
v2.20.0
v2.19.2
v2.19.1
v2.19.0
v2.18.0
v2.17.0
v2.16.6
v2.16.5
v2.16.4
v2.16.3
v2.16.2
v2.16.1
v2.16.0
v2.15.0
v2.14.1
v2.14.0
v2.13.1
v2.13.0
v2.12.2
v2.12.1
v2.12.0
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.1
v2.10.0
v2.9.1
v2.9.0
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.2
v2.6.1
v2.6.0
v2.5.2
v2.5.1
v2.5.0
v2.4.0
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.1
v2.2.0
v2.1.0
v2.0.0
v1.8.0
No labels
kanban:review
Milestone
No items
No Milestone
Fusion — accès centralisé
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Projets/ObsiGate#8
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Rôle d'émettrice SSO (C2 = option 2a) : émission et renouvellement du cookie de session partagé
draco_sessionsous.dracodev.net, connexion avecreturn_toen liste blanche (les quatre domaines confirmés), révocation.Épopée : Projets/fusion-trois-apps#7. Décisions en vigueur (Bruno, 2026-10-20, bloc C « recommandations OK ») : C1 phasage §12 tel quel · C2 cookie
draco_sessionsous.dracodev.net(2a) · C3 première paire = Flowdeck → TikTak · C5 agent en module d'ObsiGate, API classique (jamais la clé Qwen Token Plan). Registre : Projets/fusion-trois-apps,docs/registre-decisions.md.✅ Livré en ObsiGate 2.71.0 — en Révision (Spark, 2026-10-21). Commit
cb80b08, fiche roadmap #216 (docs/features/fusion-acc31-sso-draco-session-216.md).Émission :
backend/draco_session.py— JWS HS256, claims minimaux (sub,name,iat,exp12 h,jti, aucun rôle), posé à chaque émission de jetons natifs (mot de passe ou MFA) avec les attributs du design (Domain=.dracodev.net, HttpOnly, SameSite=Lax, Secure en https). Rotation parDRACO_SESSION_SECRET_PREV.Renouvellement glissant : middleware ASGI dédié (aucun tamponnage SSE/WS) — réémission si le cookie est absent/invalide/à < 2 h d'expirer, conditionnée à un cookie d'accès natif valide.
Révocation : le logout révoque le
jti(data/draco_revoked.json) et efface le cookie ; liste exposée aux autres apps parGET /api/sso/revocationssous clé machine (DRACO_SSO_MACHINE_KEY).return_to :
GET /sso/authorize— liste blanche stricte*.dracodev.neten https (anti open-redirect), retour post-connexion re-validé côté frontend.Contrôles : 22 tests dédiés verts, suite complète verte (1795), ruff/mypy/bandit propres sur les fichiers touchés, contrôles frontend OK. Inerte tant que
DRACO_SESSION_SECRETn'est pas configuré — activation au déploiement, avec le même secret à poser ensuite dans les apps consommatrices (ACC-3.2).