Authentification

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.

Tokens JWT

Authentification sécurisée et sans état utilisant les JSON Web Tokens.

Expiration des tokens

Les tokens d'accès expirent en 1 heure, les tokens de rafraîchissement en 7 jours.

Rafraîchissement automatique

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.

1

Connexion

Obtenir des tokens avec vos identifiants

2

Stocker les tokens

Stocker les deux tokens de manière sécurisée

3

Effectuer des requêtes

Inclure le token dans les en-têtes

4

Rafraîchir

Obtenir un nouveau token à l'expiration

Endpoints d'authentification

POST/api/auth/login

Authentifier un utilisateur et recevoir les tokens d'accès et de rafraîchissement.

Request Body

FieldTypeRequiredDescription
emailstringUser's email address
passwordstringUser'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"
  }'
bash

Example Response

{
  "data": {
    "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "expiresIn": 3600,
    "user": {
      "id": "usr_abc123",
      "email": "user@example.com",
      "role": "CLIENT_OWNER"
    }
  },
  "message": "Login successful"
}
json
POST/api/auth/register

Créer un nouveau compte utilisateur et une organisation.

Request Body

FieldTypeRequiredDescription
emailstringValid email address
passwordstringMin 8 chars, 1 uppercase, 1 number
namestringUser's full name
organizationNamestringOptionalOrganization 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"
  }'
bash
POST/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"
  }'
bash

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.

POST/api/auth/logout

Invalider 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"
bash

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"
  }
});
javascript

En-têtes requis

AuthorizationBearer token
x-organization-idOrganization ID
Content-Typeapplication/json

Bonnes 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.

StatusErrorDescriptionSolution
401UnauthorizedMissing or invalid tokenCheck Authorization header
401Token ExpiredAccess token has expiredUse refresh token to get new access token
403ForbiddenInsufficient permissionsCheck user role and organization access
429Too Many RequestsLogin rate limit exceededWait and retry after cooldown
400Invalid CredentialsWrong email or passwordVerify credentials and try again