Authentification
Sécurisez vos requêtes API avec des jetons porteurs JWT.
Vue d'ensemble
CyberOrigen utilise des JSON Web Tokens (JWT) pour l'authentification API. Toutes les requêtes vers les points de terminaison protégés doivent inclure un jeton valide.
Obtenir un jeton
Point de terminaison de connexion
bash
POST /api/v1/auth/token
Content-Type: application/x-www-form-urlencoded
username=[email protected]&password=yourpasswordRéponse
json
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "bearer",
"expires_in": 3600
}Exemple cURL
bash
curl -X POST https://backend.cyberorigen.com/api/v1/auth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "[email protected]&password=yourpassword"Utilisation des jetons
Incluez le jeton dans l'en-tête Authorization :
bash
curl https://backend.cyberorigen.com/api/v1/scans \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"Rafraîchissement du jeton
Les jetons expirent après 1 heure. Rafraîchissez avant l'expiration :
bash
POST /api/v1/auth/refresh
Authorization: Bearer YOUR_CURRENT_TOKENRéponse :
json
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "bearer",
"expires_in": 3600
}Clés API
Professionnel et Entreprise
Les clés API sont disponibles sur les plans Professionnel et Entreprise.
Pour les systèmes automatisés, utilisez des clés API au lieu des informations d'identification utilisateur :
Créer une clé API
- Allez dans Paramètres > Clés API
- Cliquez sur Générer une nouvelle clé
- Définissez les permissions et l'expiration
- Copiez la clé (affichée une seule fois)
Utilisation des clés API
bash
curl https://backend.cyberorigen.com/api/v1/scans \
-H "X-API-Key: YOUR_API_KEY"Permissions des clés API
| Permission | Description |
|---|---|
read:scans | Voir les résultats d'analyse |
write:scans | Créer et gérer les analyses |
read:findings | Voir les découvertes de vulnérabilités |
write:findings | Mettre à jour le statut des découvertes |
read:grc | Voir les données GRC |
write:grc | Modifier les contrôles et les preuves |
MFA pour l'accès API
Lorsque MFA est activé, les requêtes de jeton initiales nécessitent le code MFA :
bash
POST /api/v1/auth/token
Content-Type: application/x-www-form-urlencoded
username=[email protected]&password=yourpassword&mfa_code=123456Gestion des sessions
Lister les sessions actives
bash
GET /api/v1/auth/sessionsRévoquer une session
bash
DELETE /api/v1/auth/sessions/{session_id}Révoquer toutes les sessions
bash
POST /api/v1/auth/logout-allBonnes pratiques de sécurité
- Ne jamais exposer les jetons dans le code côté client ou le contrôle de version
- Utiliser des clés API pour les systèmes automatisés au lieu des informations d'identification utilisateur
- Effectuer une rotation régulière des clés API
- Définir une expiration appropriée pour les clés API
- Utiliser les permissions minimales requises pour votre intégration
Réponses d'erreur
Informations d'identification invalides
json
{
"detail": "Incorrect email or password",
"error_code": "INVALID_CREDENTIALS"
}Jeton expiré
json
{
"detail": "Token has expired",
"error_code": "TOKEN_EXPIRED"
}Jeton invalide
json
{
"detail": "Could not validate credentials",
"error_code": "INVALID_TOKEN"
}MFA requis
json
{
"detail": "MFA code required",
"error_code": "MFA_REQUIRED"
}