From f88df99c97f63cbe3ac108ec5a3877c6662561af Mon Sep 17 00:00:00 2001 From: bruno Date: Fri, 6 Nov 2026 10:53:35 -0500 Subject: [PATCH] =?UTF-8?q?Kanbante=200.46.2=20:=20documentation=20r=C3=B4?= =?UTF-8?q?les=20Hub,=20version=20et=20changelog=20(docs/correspondance-dr?= =?UTF-8?q?aco.md,=20VERSION,=20CHANGELOG.md)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/correspondance-draco.md | 39 ++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/docs/correspondance-draco.md b/docs/correspondance-draco.md index 6415a04..0a1a256 100644 --- a/docs/correspondance-draco.md +++ b/docs/correspondance-draco.md @@ -97,8 +97,43 @@ Chaque utilisateur peut aussi voir sa propre liaison dans **Mon profil → Liaison draco (SSO)** et la délier lui-même. > Le registre matriciel des rôles par application côté Hub -> (carte HUB-19) lira cette correspondance ; la présente carte ne -> livre que le côté Kanbante, qui est la source de vérité locale. +> (carte HUB-19) lit cette correspondance ; la 0.46.0 ne livrait +> que le côté Kanbante, qui reste la source de vérité locale. +> La consommation du registre par Kanbante est décrite à la +> section suivante (0.46.2). + +## Rôles du Hub (HUB-19, 0.46.2) + +Le registre des rôles du Hub (matrice par application, contrat +D3(a)) est consulté par `app/hub_roles.py` — portage du pilote +ShaarIt 0.7.0 : `GET {hub}/api/roles/kanbante`, en-tête Cookie +complet de la requête relayé, délai 2 s, cache mémoire par +`sub` de 60 s avec horodatage posé avant l'appel (un échec +conserve l'ancien cache et ne déclenche pas de rafale). L'URL +du Hub est celle de la barre commune (`resoudre_urls_draco`). +Toute erreur rend un rôle **inconnu**, qui vaut toujours +« comportement actuel » — jamais un verrouillage nouveau. + +Effets, pour les seules sessions **établies par le pont +draco** : + +1. **Pont `/auth/draco`** : la consultation précède la + liaison, la résolution de la correspondance et la création + JIT. Rôle connu `aucun` → refus explicite (403, en + français) : aucune session ouverte par draco pour ce + `sub`, aucun compte créé. La session que le pont ouvre + porte un marqueur « draco » couvert par la signature du + cookie (`user.expiry.draco.hmac`). +2. **`/admin`** (et ses actions, même garde + `_require_admin`) : session établie par draco + rôle du + registre connu ⇒ il faut `administrateur` dans le + registre, **en plus** du rôle local. Rôle inconnu ou + session native ⇒ règles locales, inchangées. + +Les autres accès ne sont pas draco et ne sont pas touchés : +session native préexistante, connexion native (mot de +passe), Basic d'environnement, jetons `kbt_`. Ni les droits +internes ni la réconciliation par étiquettes ne changent. ## Surfaces voisines