Ressources · Authentification

Documentation sur l'authentification et les portées

Guide prêt pour la production pour l'authentification JWT/session, l'authentification par clé API, les en-têtes de portée, le contexte d'espace de travail et les règles de validation.

Méthodes d'authentification

  • Authentification JWT/session pour les requêtes dans le contexte utilisateur.
  • Authentification par clé API pour les communications service-à-service et les intégrations contrôlées.

En-têtes requis

Authorization: Bearer [jwt_token] OU X-API-Key: [api_key]Content-Type: application/jsonX-Scope-Type: personal | workspaceX-Workspace-ID: requis uniquement pour la portée workspace

Modèle de portée

  • La portée personnelle s'exécute dans le contexte de l'utilisateur authentifié.
  • La portée workspace s'exécute sous un espace de travail spécifique avec des contrôles tenant compte des rôles.

Règles de validation

  • Si la portée est personnelle, X-Workspace-ID ne doit pas être fourni.
  • Si la portée est workspace, X-Workspace-ID est requis.
  • Des en-têtes de portée invalides ou contradictoires renvoient 422.

Exemple d'authentification JWT

bash
curl -X POST "/api/v1/chat/completions" \
  -H "Authorization: Bearer [jwt_token]" \
  -H "Content-Type: application/json" \
  -H "X-Scope-Type: personal" \
  -d '{
    "message":"Hello from JWT auth",
    "stream":false
  }'

Exemple d'authentification par clé API

bash
curl -X POST "/api/v1/chat/completions" \
  -H "X-API-Key: [api_key]" \
  -H "Content-Type: application/json" \
  -H "X-Scope-Type: workspace" \
  -H "X-Workspace-ID: [workspace_uuid]" \
  -d '{
    "message":"Hello from API key auth",
    "stream":false
  }'

Portée de l'espace de travail

json
{
  "headers": {
    "X-Scope-Type": "workspace",
    "X-Workspace-ID": "[workspace_uuid]"
  },
  "note": "Workspace scope requires workspace id."
}

Portée personnelle

json
{
  "headers": {
    "X-Scope-Type": "personal"
  },
  "note": "Personal scope must not include workspace id."
}

Modèles d'erreur

401

Authentification manquante, expirée ou invalide.

403

Portée non autorisée ou restriction de rôle dans l'espace de travail.

422

Échec de la validation des en-têtes/contexte.

429

Limite de taux dépassée pour le contexte d'authentification actuel.