Skip to content
Cette page a été générée et traduite avec l'aide de l'IA. Si vous remarquez des inexactitudes, n'hésitez pas à contribuer. Modifier sur GitHub

Authentification ​

OpenPR utilise les JWT (JSON Web Tokens) pour l'authentification des utilisateurs et les jetons bot pour l'accès des assistants IA et du serveur MCP.

Authentification utilisateur (JWT) ​

S'enregistrer ​

Créer un nouveau compte :

bash
curl -X POST http://localhost:8080/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "name": "John Doe",
    "password": "SecurePassword123"
  }'

Réponse :

json
{
  "code": 0,
  "message": "success",
  "data": {
    "user": {
      "id": "uuid",
      "email": "[email protected]",
      "name": "John Doe",
      "role": "user"
    },
    "access_token": "eyJ...",
    "refresh_token": "eyJ..."
  }
}

Premier utilisateur

Le premier utilisateur enregistré reçoit automatiquement le rôle admin. Tous les utilisateurs suivants sont user par défaut.

Connexion ​

bash
curl -X POST http://localhost:8080/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "SecurePassword123"
  }'

La réponse inclut access_token, refresh_token et les informations utilisateur avec role.

Utiliser le jeton d'accès ​

Incluez le jeton d'accès dans l'en-tête Authorization pour toutes les requêtes authentifiées :

bash
curl -H "Authorization: Bearer eyJ..." \
  http://localhost:8080/api/workspaces

Rafraîchissement de jeton ​

Quand le jeton d'accès expire, utilisez le jeton de rafraîchissement pour obtenir une nouvelle paire :

bash
curl -X POST http://localhost:8080/api/auth/refresh \
  -H "Content-Type: application/json" \
  -d '{"refresh_token": "eyJ..."}'

Obtenir l'utilisateur actuel ​

bash
curl -H "Authorization: Bearer eyJ..." \
  http://localhost:8080/api/auth/me

Retourne le profil de l'utilisateur actuel incluant role (admin/user).

Configuration des jetons ​

Les durées de vie des jetons JWT sont configurées via des variables d'environnement :

VariableDéfautDescription
JWT_SECRETchange-me-in-productionClé secrète pour signer les jetons
JWT_ACCESS_TTL_SECONDS2592000 (30 jours)Durée de vie du jeton d'accès
JWT_REFRESH_TTL_SECONDS604800 (7 jours)Durée de vie du jeton de rafraîchissement

Sécurité en production

Définissez toujours JWT_SECRET avec une valeur forte et aléatoire en production. La valeur par défaut est non sécurisée.

Authentification par jeton bot ​

Les jetons bot fournissent l'authentification pour les assistants IA et les outils automatisés. Ils sont limités à l'espace de travail et utilisent le préfixe opr_.

Créer des jetons bot ​

Les jetons bot sont gérés via l'interface de paramètres de l'espace de travail ou l'API :

bash
curl -X POST http://localhost:8080/api/workspaces/<workspace_id>/bots \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <admin_token>" \
  -d '{"name": "Claude Assistant"}'

Utiliser les jetons bot ​

Les jetons bot sont utilisés de la même façon que les jetons JWT :

bash
curl -H "Authorization: Bearer opr_abc123..." \
  http://localhost:8080/api/workspaces/<workspace_id>/projects

Propriétés des jetons bot ​

PropriétéDescription
Préfixeopr_
PortéeUn espace de travail
Type d'entitéCrée une entité utilisateur bot_mcp
PermissionsIdentiques au membre de l'espace de travail
Piste d'auditToutes les actions journalisées sous l'utilisateur bot

Résumé des points de terminaison d'authentification ​

Point de terminaisonMéthodeDescription
/api/auth/registerPOSTCréer un compte
/api/auth/loginPOSTConnexion et obtention des jetons
/api/auth/refreshPOSTRafraîchir la paire de jetons
/api/auth/meGETObtenir les informations de l'utilisateur actuel

Étapes suivantes ​

Released under the Apache-2.0 License.