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

Аутентификация API

Intotes использует JWT-токены, передаваемые в виде HTTP-only cookies для аутентификации.

Типы токенов​

ТокенИмя cookieTTLНазначение
Access-токенaccess_token20 минутАутентификация API-запросов
Refresh-токенrefresh_token72 часаПолучение новых access-токенов

Как это работает​

  1. Вход через POST /api/v1/auth/sign-in (или регистрацию, OAuth)
  2. Сервер устанавливает access_token и refresh_token как HTTP-only cookies
  3. Cookies отправляются автоматически с каждым запросом — ручная установка заголовков не требуется
  4. Когда access-токен истекает, вызовите POST /api/v1/auth/refresh для получения нового

Использование Bearer-токена​

Для программных клиентов, не поддерживающих cookies, токен можно передать вручную:

Authorization: Bearer <access_token>

Исключение — эндпоинты партнёрской интеграции: они аутентифицируются заголовком X-Partner-Key, а не токеном пользователя.

Уровни аутентификации​

Каждый эндпоинт документирует требуемый уровень аутентификации:

УровеньОписание
NoneПубличный эндпоинт, аутентификация не требуется
OptionalРаботает с аутентификацией и без неё (может возвращать разные данные)
RequiredТребуется аутентификация
CreatorТребуется роль is_creator
StatsViewerТребуется роль is_stats_viewer (административные эндпоинты)

Процесс обновления токена​

# Когда access-токен истекает (ответ 401), обновите его:
curl -X POST https://intotes.com/api/v1/auth/refresh \
--cookie "refresh_token=<your_refresh_token>"

Сервер отвечает новым cookie access_token и информацией о текущем пользователе.

Выход​

curl -X DELETE https://intotes.com/api/v1/auth/logout \
--cookie "access_token=<token>"

Оба токена аннулируются, cookies очищаются.