API аутентификации
Эндпоинты регистрации, входа и управления сессиями.
Регистрация
Создать новый аккаунт.
POST
/api/auth/registerЗапрос
curl -X POST https://api.aigonka.ru/api/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "secure-password"
}'Требования
- Email должен быть валидного формата
- Пароль должен быть не менее 6 символов
Ответ (201)
{
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"balance": 3.00,
"role": "user"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"message": "Регистрация успешна. Добро пожаловать! Вы получили бонус $3."
}Ответы с ошибками
400 — Некорректный ввод
{
"error": {
"message": "Email и пароль обязательны",
"type": "validation_error"
}
}409 — Пользователь существует
{
"error": {
"message": "Пользователь с этим email уже существует",
"type": "user_exists"
}
}Вход
Аутентификация и получение JWT токена.
POST
/api/auth/loginЗапрос
curl -X POST https://api.aigonka.ru/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "secure-password"
}'Ответ (200)
{
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"balance": 2.50,
"role": "user"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Ответы с ошибками
401 — Неверные учётные данные
{
"error": {
"message": "Неверный email или пароль",
"type": "invalid_credentials"
}
}Получить текущего пользователя
Получить информацию об аутентифицированном пользователе.
GET
/api/auth/meЗапрос
curl -X GET https://api.aigonka.ru/api/auth/me \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."Ответ (200)
{
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"balance": 2.50,
"role": "user",
"createdAt": "2024-01-15T10:00:00Z"
}
}JWT токен
Формат
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfYWJjMTIzIiwiZW1haWwiOiJ1c2VyQGV4YW1wbGUuY29tIiwiaWF0IjoxNzA1MzEyMjAwLCJleHAiOjE3MDUzOTg2MDB9.signatureСрок действия
- Действует: 24 часа
- Обновление: Войдите снова для получения нового токена
Использование
Включите в заголовок Authorization:
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...Ограничения запросов
| Эндпоинт | Лимит |
|---|---|
| /api/auth/register | 10 запросов/минуту |
| /api/auth/login | 10 запросов/минуту |