smart_ide/docs/features/sso-docv-enso.md
Nicolas Cantu 088eab84b7 Platform docs, services, ia_dev submodule, smart_ide project config
- Add ia_dev submodule (projects/smart_ide on forge 4nk)
- Document APIs, orchestrator, gateway, local-office, rollout
- Add systemd/scripts layout; relocate setup scripts
- Remove obsolete nginx/enso-only docs from this repo scope
2026-04-03 16:07:58 +02:00

2.2 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

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.