smart_ide/docs/API/sso-gateway-api.md
Nicolas Cantu 3b3e1e67de docs: align regex-search with Cursor article; claw upstream submodule; SSO data ownership
- Add services/claw-harness-api/upstream → chinanpc/claude-code-rust (shallow)
- Document claw submodule and MIT Rust harness in service-claw-harness + feature doc
- agent-regex-search: map design principles to rg implementation vs indexed search
- SSO gateway: no user/project account storage; product DBs own identity context
2026-04-03 22:54:07 +02:00

2.6 KiB
Raw Blame History

API — smart-ide-sso-gateway

Écoute par défaut : 127.0.0.1:37148. Configuration : services/smart-ide-sso-gateway/.env.example, agrégat config/services.local.env.example.

Authentification

Route Auth utilisateur
GET /health Aucune
OPTIONS * Aucune (préflight CORS si SSO_CORS_ORIGIN défini)
Toutes les autres Authorization: Bearer <access_token> OIDC (docv / Enso)

Endpoints

GET /health

Réponse 200 : { "status": "ok", "service": "smart-ide-sso-gateway" }.

GET /v1/token/verify

Vérifie le Bearer utilisateur. Réponse 200 : { "valid": true, "claims": { ... } } avec un sous-ensemble des claims (sub, iss, aud, exp, iat, email, name, preferred_username).

GET /v1/upstreams

Liste les clés de proxy disponibles : { "upstreams": [ "orchestrator", ... ] }.

Proxy — ANY /proxy/<upstream_key>/<path>

  • <upstream_key> : voir liste ci-dessus (repos_devtools, orchestrator, etc.).
  • <path> : chemin transmis tel quel à lURL de base du service (ex. /proxy/orchestrator/v1/...http://ORCHESTRATOR_HOST:PORT/v1/...).
  • Corps : relayé pour les méthodes avec body (limite SSO_GATEWAY_MAX_BODY_BYTES, défaut 32 MiB).
  • Réponses derreur : 401 si Bearer utilisateur absent ou invalide ; 404 si clé inconnue ; 503 si local_office est ciblé sans LOCAL_OFFICE_API_KEY.

Len-tête Authorization utilisateur nest pas transmis à lamont ; il est remplacé par le jeton de service configuré. Voir sso-gateway-service.md.

Comptes et projets

Aucun stockage dutilisateurs ou de comptes par projet dans ce service : uniquement validation OIDC et proxy. Les données de compte et dappartenance projet vivent dans les bases métier des produits ; la passerelle ne les duplique pas.

Variables denvironnement (passerelle)

Variable Rôle
OIDC_ISSUER Obligatoire — URL de lissuer OpenID
OIDC_AUDIENCE Optionnel — audience attendue du JWT
OIDC_JWKS_URI Optionnel — URI JWKS explicite
SSO_GATEWAY_HOST / SSO_GATEWAY_PORT Bind HTTP
SSO_CORS_ORIGIN Si défini, en-têtes CORS sur les réponses
SSO_GATEWAY_MAX_BODY_BYTES Taille max du corps en entrée

Les jetons et hôtes des micro-services : mêmes noms que dans config/services.local.env.example.

Voir aussi