API Аутентификации
Регистрация
POST /api/user/register
Тело запроса:
{
"name": "Иван Иванов",
"email": "ivan@example.com",
"password": "SecurePassword123"
}
Вход
POST /api/user/login
Тело запроса:
{
"email": "ivan@example.com",
"password": "SecurePassword123"
}
Ответ:
{
"accessToken": "eyJhbGciOiJIUzI1NiIs...",
"user": {
"id": "uuid",
"name": "Иван Иванов",
"email": "ivan@example.com"
}
}
Refresh-токен устанавливается автоматически как HTTP-only cookie.
Обновление токена
POST /api/user/refresh
Refresh-токен передаётся автоматически через cookie. Возвращает новый access-токен.
Ответ:
{
"accessToken": "eyJhbGciOiJIUzI1NiIs..."
}
Текущий пользователь
GET /api/user/me
Заголовки:
Authorization: Bearer <access_token>
Ответ:
{
"id": "uuid",
"name": "Иван Иванов",
"email": "ivan@example.com",
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T10:00:00Z"
}
Активация email
POST /api/user/activate-email
Тело запроса:
{
"code": "123456"
}
Сброс пароля
POST /api/user/reset-password
Тело запроса:
{
"email": "ivan@example.com"
}
Выход
POST /api/user/logout
Удаляет refresh-токен из cookie и инвалидирует сессию.