Перейти к основному содержимому

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 и инвалидирует сессию.