API Аутентификация
Узнайте, как выполнять аутентификацию в API BotLaunch с помощью JWT-токенов. Защитите свои запросы и управляйте доступом к ресурсам.
Безопасная аутентификация без сохранения состояния с помощью JSON Web Tokens.
Токены доступа действуют 1 час, токены обновления — 7 дней.
Используйте токены обновления для бесперебойного получения новых токенов доступа.
Процесс аутентификации
Следуйте этим шагам для аутентификации и выполнения безопасных API-запросов.
Вход
Получите токены с помощью учётных данных
Сохранение токенов
Безопасно сохраните оба токена
Выполнение запросов
Включите токен в заголовки
Обновление
Получите новый токен по истечении срока
Эндпоинты аутентификации
/api/auth/loginАутентификация пользователя и получение токенов доступа и обновления.
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/registerСоздание новой учётной записи пользователя и организации.
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Обмен токена обновления на новый токен доступа.
Example Request
curl -X POST "https://api.botlaunch.io/api/auth/refresh" \
-H "Content-Type: application/json" \
-d '{
"refreshToken": "your-refresh-token"
}'Ротация токенов
Каждый запрос на обновление возвращает новый токен обновления. Сохраняйте и используйте последний токен обновления для последующих запросов.
/api/auth/logoutЗавершение текущей сессии и отзыв токенов.
Example Request
curl -X POST "https://api.botlaunch.io/api/auth/logout" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"Использование токенов доступа
Включайте токен доступа в заголовок Authorization для всех 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"
}
});Обязательные заголовки
AuthorizationBearer tokenx-organization-idOrganization IDContent-Typeapplication/jsonЛучшие практики безопасности
- Храните токены безопасно (никогда в localStorage для веба)
- Используйте HTTPS для всех API-запросов
- Реализуйте обновление токена до истечения срока
- Отзывайте токены при выходе или событиях безопасности
Ошибки аутентификации
Распространённые ошибки аутентификации и способы их обработки.
| 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 |