Appearance
Авторизация API v1
Получение legacy-токена
http
GET /auth/token/:login
Authorization: Bearer <password>login передается в URL и должен быть URL-encoded. После первых семи символов заголовка Authorization старый handler читает пароль. Для совместимости это поведение сохранено, однако новым клиентам следует использовать POST /auth/token из API v2.
Успешный ответ:
json
{
"status": true,
"data": {
"token": "[REDACTED_SECRET]"
},
"error": {},
"message": "Токен действителен ровно 24 часа с момента получения Tue Aug 11 2026 16:40:06 GMT+0300 (Moscow Standard Time)"
}JWT содержит идентификатор MongoDB-пользователя в claim data и действует ровно 24 часа.
На endpoint действует ограничение частоты запросов. Login, пароль и выданный JWT не должны попадать в клиентские или серверные debug-логи.
Использование JWT
http
Authorization: Bearer <JWTToken>Токен передается во всех запросах /api/v1/* и в /auth/check.
Проверка токена
http
GET /auth/check
Authorization: Bearer <JWTToken>Успешный ответ возвращает сохраненный MongoDB-документ пользователя без поля password:
json
{
"status": true,
"data": {
"_id": "[REDACTED__ID]",
"email": "[REDACTED_EMAIL]",
"company": "[REDACTED_COMPANY]",
"inn": "[REDACTED_INN]",
"date": 1551704289295,
"isActive": true,
"priceLevel": "Дилер",
"configurator": true
},
"error": {},
"message": ""
}Набор полей зависит от фактически сохраненного пользователя. Отсутствующие поля не добавляются со значением false или null.
Права пользователя
isActive=trueразрешает доступ к публичным маршрутам API;isAdmin=trueтакже разрешает публичный доступ;priceLevelопределяет персональную цену товара и опций конфигуратора;configurator=trueлибоisAdmin=trueразрешает configurator endpoint.
При отключенном доступе /api/v1/* возвращает AuthenticationError с кодом 1003 в legacy-обертке и HTTP 200.
Регистрация и вход в админку
POST /auth/registration и POST /auth/admin/login используют актуальную реализацию приложения. Их контракты не относятся к совместимости API v1.