[ACC-3.2] Validation locale du jeton draco_session #21

Open
opened 2026-10-20 21:19:46 -04:00 by bruno · 1 comment
Owner

Brief pour Hermes. Validation locale du jeton draco_session via le module partagé dracodev-commons/session/ ; mapping sub → compte local ; aucun rôle lu depuis le jeton.

Dépend de : ACC-3.1 côté ObsiGate. Épopée : Projets/fusion-trois-apps#7.

**Brief pour Hermes.** Validation locale du jeton `draco_session` via le module partagé `dracodev-commons/session/` ; mapping `sub` → compte local ; aucun rôle lu depuis le jeton. Dépend de : ACC-3.1 côté ObsiGate. Épopée : Projets/fusion-trois-apps#7.
bruno added this to the Fusion — accès centralisé milestone 2026-10-20 21:19:46 -04:00
bruno added the kanban_Backlog label 2026-10-20 21:19:46 -04:00
bruno added kanban:review and removed kanban_Backlog labels 2026-10-20 23:54:39 -04:00
Author
Owner

✅ Livré en Flowdeck 7.74.0 — en Révision (Spark, 2026-10-21). Commit 1ce9f69.

Pont SSO GET /auth/draco : le cookie draco_session (émis par ObsiGate, ACC-3.1) est vérifié localement par app/services/draco.py (JWS HS256 au secret partagé, révocation de l'émettrice en cache 60 s — mêmes sémantiques que le validateur TikTak), résolu vers le compte local, puis converti en session Flowdeck native. Bouton « Login with ObsiGate (SSO) » sur la page de connexion (via /sso/authorize de l'émettrice).
Mapping sub → compte : migration 51 (draco_links, 1:1) — lien automatique à la première visite doublement connectée (accroché à /auth/user), repli mono-utilisateur, GET/POST/DELETE /auth/draco-link (dissociation = pierre tombale).

Contrôles : 7 tests dédiés verts ; suite complète 1475 verts / 28 échecs tous préexistants (comparaison à la baseline locale de l'arbre 7.72.0, zéro échec nouveau) ; ruff propre. Inerte tant que DRACO_SESSION_SECRET n'est pas configuré — même secret qu'ObsiGate et TikTak.

✅ **Livré en Flowdeck 7.74.0 — en Révision** (Spark, 2026-10-21). Commit `1ce9f69`. **Pont SSO** `GET /auth/draco` : le cookie `draco_session` (émis par ObsiGate, ACC-3.1) est vérifié localement par `app/services/draco.py` (JWS HS256 au secret partagé, révocation de l'émettrice en cache 60 s — mêmes sémantiques que le validateur TikTak), résolu vers le compte local, puis converti en session Flowdeck native. Bouton « Login with ObsiGate (SSO) » sur la page de connexion (via `/sso/authorize` de l'émettrice). **Mapping sub → compte** : migration **51** (`draco_links`, 1:1) — lien automatique à la première visite doublement connectée (accroché à `/auth/user`), repli mono-utilisateur, `GET/POST/DELETE /auth/draco-link` (dissociation = pierre tombale). Contrôles : 7 tests dédiés verts ; suite complète 1475 verts / 28 échecs **tous préexistants** (comparaison à la baseline locale de l'arbre 7.72.0, zéro échec nouveau) ; ruff propre. **Inerte tant que `DRACO_SESSION_SECRET` n'est pas configuré** — même secret qu'ObsiGate et TikTak.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bruno/flowdeck#21