- Copy enso/docs tree to services/docv/enso-docs (refresh via cp -a from enso repo) - Document mirror and refresh command in services/docv/README.md - Ignore services/docv/target for local Rust workspace - Track docv-service-integration, API docv.md, and related doc index updates
2.5 KiB
SSO — front plateforme et docv (filière Enso)
Objectif
Permettre au front web de la plateforme smart_ide (déployé par environnement : test, pprod, prod) de déléguer l’authentification à docv via OpenID Connect (OIDC) , sans coupler le monorepo au code du dépôt Enso tant que celui-ci n’est pas disponible sur la machine de documentation.
Rôles
| Composant | Rôle |
|---|---|
| Navigateur utilisateur | Redirection vers docv (authorization endpoint) |
| docv / IdP Enso | Émet id_token / access_token, expose JWKS |
| Front SPA | Échange code OAuth (PKCE recommandé), stocke session |
| Backend API (orchestrateur ou BFF) | Valide JWT (signature JWKS, iss, aud, exp), mappe rôles → droits policy |
Flux (authorization code + PKCE)
sequenceDiagram
participant Browser
participant Front as Front_SPA
participant Docv as docv_IdP
participant API as smart_ide_API
Browser->>Front: open app
Front->>Docv: redirect authorize
Docv->>Browser: login consent
Browser->>Front: callback code
Front->>Docv: token endpoint
Docv->>Front: access_token id_token
Front->>API: API calls Authorization Bearer
API->>API: validate JWT JWKS
Intégrations IA côté backend docv (services smart_ide, clones, AnythingLLM) : docv-ai-integration.md.
Gestion documentaire, chemins ../projects/<projet>/data, DOCV_PROJECTS_ROOT : docv-service-integration.md.
Paramètres à fixer avec le dépôt Enso
issuer(URL stable par env)client_id/client_secretou client public + PKCE- Scopes : au minimum
openid,profile,email; scopes métier docv si besoin - Audience (
aud) attendue par l’APIsmart_ide - Mapping rôles / groupes → profils OpenShell (lecture seule, deploy pprod, etc.)
Environnements
Un client OAuth par env (test / pprod / prod) ou un seul client avec claims d’environnement — à trancher avec la sécurité Enso. Les URLs de callback du front diffèrent par déploiement.
Références internes
- platform-target.md — matrice test / pprod / prod
- deployment-target.md — TLS, pas de HTTP de contournement
Suite
Lorsque le dépôt Enso (ex. /home/desk/code/enso/) est accessible, compléter ce document avec les chemins d’endpoints réels et captures d’écran des écrans docv concernés.