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 :
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 :
{
"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
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 :
curl -H "Authorization: Bearer eyJ..." \
http://localhost:8080/api/workspacesRafraîchissement de jeton
Quand le jeton d'accès expire, utilisez le jeton de rafraîchissement pour obtenir une nouvelle paire :
curl -X POST http://localhost:8080/api/auth/refresh \
-H "Content-Type: application/json" \
-d '{"refresh_token": "eyJ..."}'Obtenir l'utilisateur actuel
curl -H "Authorization: Bearer eyJ..." \
http://localhost:8080/api/auth/meRetourne 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 :
| Variable | Défaut | Description |
|---|---|---|
JWT_SECRET | change-me-in-production | Clé secrète pour signer les jetons |
JWT_ACCESS_TTL_SECONDS | 2592000 (30 jours) | Durée de vie du jeton d'accès |
JWT_REFRESH_TTL_SECONDS | 604800 (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 :
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 :
curl -H "Authorization: Bearer opr_abc123..." \
http://localhost:8080/api/workspaces/<workspace_id>/projectsPropriétés des jetons bot
| Propriété | Description |
|---|---|
| Préfixe | opr_ |
| Portée | Un espace de travail |
| Type d'entité | Crée une entité utilisateur bot_mcp |
| Permissions | Identiques au membre de l'espace de travail |
| Piste d'audit | Toutes les actions journalisées sous l'utilisateur bot |
Résumé des points de terminaison d'authentification
| Point de terminaison | Méthode | Description |
|---|---|---|
/api/auth/register | POST | Créer un compte |
/api/auth/login | POST | Connexion et obtention des jetons |
/api/auth/refresh | POST | Rafraîchir la paire de jetons |
/api/auth/me | GET | Obtenir les informations de l'utilisateur actuel |
Étapes suivantes
- Référence des points de terminaison -- Documentation API complète
- Serveur MCP -- Utilisation des jetons bot avec MCP
- Membres & Permissions -- Accès basé sur les rôles