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

Аутентификация 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>

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

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

УровеньОписание
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 очищаются.