Phase 2 du programme « compte partout / porte centrale unique ». Branche basée sur la phase 1 (PR 7.85.5) — PR distincte, à fusionner après elle. Aucune fusion — sur l'ordre de Bruno.
Porte centrale unique
Nouveau réglage porte_centrale_active (même service reglages_acces, distinct du réglage d'inscription de la phase 1, désactivé par défaut à la livraison ; GET/PUT /api/admin/reglages-acces, variable PORTE_CENTRALE_ACTIVE en repli).
Mode actif : l'écran de connexion ne présente que l'entrée centrale (bouton « Login with ObsiGate (SSO) » bien visible + lien Hub) ; POST /auth/local-login refuse les identifiants locaux ordinaires (403) — comptes locaux historiques inclus ; inscription également fermée ; sessions déjà établies non touchées ; voie draco (SSO/JIT) inchangée.
Porte de secours administrateur
UN compte administrateur local désigné, chemin discret GET /auth/login?provider=local&secours=1 (jamais proposé sur l'écran principal ; le formulaire y marque ses envois secours).
Identifiants par variables d'environnement FLOWDECK_SECOURS_ADMIN_LOGIN / FLOWDECK_SECOURS_ADMIN_MOT_DE_PASSE (comparaison à temps constant ; compte local actif + administrateur exigé ; sans variables, porte fermée ; aucun secret en dur).
Version / tests
7.85.6. tests/test_porte_centrale.py : 15 tests nouveaux, verts (refus ordinaire + historique, écran réduit à l'entrée centrale, secours réussi/refusé selon drapeau, mot de passe, rôle et variables, session établie préservée, mode inactif = comportement actuel intégral). Suites voisines (test_v67_sso, test_fusion_draco, test_hub_roles, test_reglages_acces) vertes.
Phase 2 du programme « compte partout / porte centrale unique ». **Branche basée sur la phase 1 (PR 7.85.5) — PR distincte, à fusionner après elle. Aucune fusion — sur l'ordre de Bruno.**
## Porte centrale unique
- Nouveau réglage `porte_centrale_active` (même service `reglages_acces`, **distinct** du réglage d'inscription de la phase 1, **désactivé par défaut à la livraison** ; `GET`/`PUT /api/admin/reglages-acces`, variable `PORTE_CENTRALE_ACTIVE` en repli).
- Mode actif : l'écran de connexion ne présente que l'entrée centrale (bouton « Login with ObsiGate (SSO) » bien visible + lien Hub) ; `POST /auth/local-login` refuse les identifiants locaux ordinaires (403) — **comptes locaux historiques inclus** ; inscription également fermée ; sessions déjà établies non touchées ; voie draco (SSO/JIT) inchangée.
## Porte de secours administrateur
- UN compte administrateur local désigné, chemin discret `GET /auth/login?provider=local&secours=1` (jamais proposé sur l'écran principal ; le formulaire y marque ses envois `secours`).
- Identifiants par variables d'environnement `FLOWDECK_SECOURS_ADMIN_LOGIN` / `FLOWDECK_SECOURS_ADMIN_MOT_DE_PASSE` (comparaison à temps constant ; compte local actif + administrateur exigé ; sans variables, porte fermée ; aucun secret en dur).
## Version / tests
- **7.85.6**. `tests/test_porte_centrale.py` : **15 tests nouveaux, verts** (refus ordinaire + historique, écran réduit à l'entrée centrale, secours réussi/refusé selon drapeau, mot de passe, rôle et variables, session établie préservée, mode inactif = comportement actuel intégral). Suites voisines (test_v67_sso, test_fusion_draco, test_hub_roles, test_reglages_acces) vertes.
bruno
changed target branch from porte-unique-phase1-inscription to main2026-11-07 10:31:45 -05:00
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.
Phase 2 du programme « compte partout / porte centrale unique ». Branche basée sur la phase 1 (PR 7.85.5) — PR distincte, à fusionner après elle. Aucune fusion — sur l'ordre de Bruno.
Porte centrale unique
porte_centrale_active(même servicereglages_acces, distinct du réglage d'inscription de la phase 1, désactivé par défaut à la livraison ;GET/PUT /api/admin/reglages-acces, variablePORTE_CENTRALE_ACTIVEen repli).POST /auth/local-loginrefuse les identifiants locaux ordinaires (403) — comptes locaux historiques inclus ; inscription également fermée ; sessions déjà établies non touchées ; voie draco (SSO/JIT) inchangée.Porte de secours administrateur
GET /auth/login?provider=local&secours=1(jamais proposé sur l'écran principal ; le formulaire y marque ses envoissecours).FLOWDECK_SECOURS_ADMIN_LOGIN/FLOWDECK_SECOURS_ADMIN_MOT_DE_PASSE(comparaison à temps constant ; compte local actif + administrateur exigé ; sans variables, porte fermée ; aucun secret en dur).Version / tests
tests/test_porte_centrale.py: 15 tests nouveaux, verts (refus ordinaire + historique, écran réduit à l'entrée centrale, secours réussi/refusé selon drapeau, mot de passe, rôle et variables, session établie préservée, mode inactif = comportement actuel intégral). Suites voisines (test_v67_sso, test_fusion_draco, test_hub_roles, test_reglages_acces) vertes.