smart_ide/docs/features/sso-docv-enso.md
Nicolas Cantu bc3c75e15f Add enso docs mirror under services/docv/enso-docs; docv integration docs
- 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
2026-04-03 17:26:35 +02:00

2.5 KiB
Raw Blame History

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 lauthentification à docv via OpenID Connect (OIDC) , sans coupler le monorepo au code du dépôt Enso tant que celui-ci nest 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_secret ou client public + PKCE
  • Scopes : au minimum openid, profile, email ; scopes métier docv si besoin
  • Audience (aud) attendue par lAPI smart_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 denvironnement — à trancher avec la sécurité Enso. Les URLs de callback du front diffèrent par déploiement.

Références internes

Suite

Lorsque le dépôt Enso (ex. /home/desk/code/enso/) est accessible, compléter ce document avec les chemins dendpoints réels et captures décran des écrans docv concernés.