API Authentification
Apprenez à vous authentifier avec l'API BotLaunch en utilisant des tokens JWT. Sécurisez vos requêtes et gérez l'accès à vos ressources.
Authentification sécurisée et sans état utilisant les JSON Web Tokens.
Les tokens d'accès expirent en 1 heure, les tokens de rafraîchissement en 7 jours.
Utilisez les tokens de rafraîchissement pour obtenir de nouveaux tokens d'accès de manière transparente.
Flux d'authentification
Suivez ces étapes pour vous authentifier et effectuer des requêtes API sécurisées.
Connexion
Obtenir des tokens avec vos identifiants
Stocker les tokens
Stocker les deux tokens de manière sécurisée
Effectuer des requêtes
Inclure le token dans les en-têtes
Rafraîchir
Obtenir un nouveau token à l'expiration
Endpoints d'authentification
/api/auth/loginAuthentifier un utilisateur et recevoir les tokens d'accès et de rafraîchissement.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| string | User's email address | ||
| password | string | User's password |
Example Request
curl -X POST "https://api.botlaunch.io/api/auth/login" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "your-secure-password"
}'Example Response
{
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresIn": 3600,
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"role": "CLIENT_OWNER"
}
},
"message": "Login successful"
}/api/auth/registerCréer un nouveau compte utilisateur et une organisation.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| string | Valid email address | ||
| password | string | Min 8 chars, 1 uppercase, 1 number | |
| name | string | User's full name | |
| organizationName | string | Optional | Organization name |
Example Request
curl -X POST "https://api.botlaunch.io/api/auth/register" \
-H "Content-Type: application/json" \
-d '{
"email": "newuser@example.com",
"password": "SecureP@ssw0rd!",
"name": "John Doe",
"organizationName": "My Company"
}'/api/auth/refreshÉchanger un token de rafraîchissement contre un nouveau token d'accès.
Example Request
curl -X POST "https://api.botlaunch.io/api/auth/refresh" \
-H "Content-Type: application/json" \
-d '{
"refreshToken": "your-refresh-token"
}'Rotation des tokens
Chaque requête de rafraîchissement renvoie un nouveau token de rafraîchissement. Stockez et utilisez le dernier token de rafraîchissement pour les requêtes suivantes.
/api/auth/logoutInvalider la session en cours et révoquer les tokens.
Example Request
curl -X POST "https://api.botlaunch.io/api/auth/logout" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"Utilisation des tokens d'accès
Incluez votre token d'accès dans l'en-tête Authorization pour toutes les requêtes API.
// Include the access token in all API requests
const response = await fetch("https://api.botlaunch.io/api/bots", {
headers: {
"Authorization": "Bearer eyJhbGciOiJIUzI1NiIs...",
"x-organization-id": "org_xyz789",
"Content-Type": "application/json"
}
});En-têtes requis
AuthorizationBearer tokenx-organization-idOrganization IDContent-Typeapplication/jsonBonnes pratiques de sécurité
- Stockez les tokens de manière sécurisée (jamais dans localStorage pour le web)
- Utilisez HTTPS pour toutes les requêtes API
- Implémentez le rafraîchissement des tokens avant leur expiration
- Révoquez les tokens lors de la déconnexion ou des événements de sécurité
Erreurs d'authentification
Erreurs d'authentification courantes et comment les gérer.
| Status | Error | Description | Solution |
|---|---|---|---|
| 401 | Unauthorized | Missing or invalid token | Check Authorization header |
| 401 | Token Expired | Access token has expired | Use refresh token to get new access token |
| 403 | Forbidden | Insufficient permissions | Check user role and organization access |
| 429 | Too Many Requests | Login rate limit exceeded | Wait and retry after cooldown |
| 400 | Invalid Credentials | Wrong email or password | Verify credentials and try again |