Какой способ использовать
| Сценарий | Способ | Где применяется |
| Личный кабинет | Cookie sid | Профиль, ключи, оплата, статистика. |
| Backend-интеграция | Authorization: Bearer sk_live_... | POST /v1/optimize и серверные запросы к Optimize API. |
Запрос кода входа
POST
/v1/auth/request-code
curl -X POST "https://imgfix.ru/v1/auth/request-code" \
-H "Content-Type: application/json" \
-d '{ "email": "user@gmail.com" }'
Код действует 10 минут. Email нормализуется: домен проверяется по whitelist, часть после + в local-part отбрасывается.
Подтверждение кода
POST
/v1/auth/verify-code
curl -i -X POST "https://imgfix.ru/v1/auth/verify-code" \
-H "Content-Type: application/json" \
-d '{ "email": "user@gmail.com", "code": "123456" }'
{
"success": true,
"user_id": "..."
}
При успехе gateway ставит HttpOnly cookie sid. Эта cookie нужна для кабинета и методов управления ключами.
Проверка сессии и выход
| Метод | Назначение | Авторизация |
GET /v1/me | Возвращает email, план и остаток платной квоты. | Cookie sid |
POST /v1/auth/logout | Удаляет server-side session и сбрасывает cookie. | Cookie sid |
Типовые ошибки
| HTTP | Код | Причина |
| 400 | invalid_email | Email пустой или не похож на адрес. |
| 400 | email_domain_not_allowed | Домен email не входит в whitelist. |
| 401 | invalid_code | Код неверный или истёк. |
| 401 | auth_required | Нет действующей cookie-сессии. |