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

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

Intotes использует аутентификацию на основе JWT с кратковременными access-токенами и долгоживущими refresh-токенами. Токены доставляются как HTTP-only cookies и могут также отправляться через заголовок Authorization.

Жизненный цикл токенов

ТокенTTLНазначение
access_token20 минутАвторизует API-запросы. Отправляется как HTTP-only cookie или как Bearer-токен в заголовке Authorization.
refresh_token72 часаИспользуется для получения нового access-токена после истечения текущего. Отправляется как HTTP-only cookie.

Оба токена устанавливаются автоматически как HTTP-only cookies при успешном входе или OAuth-callback.

Отправка аутентифицированных запросов

Включайте access-токен в каждый запрос, требующий аутентификации. Платформа принимает его двумя способами:

  1. Cookie (автоматически) -- если вы аутентифицировались через браузер, cookies отправляются автоматически.
  2. Заголовок Authorization (явно):
    Authorization: Bearer <access_token>

Обновление токенов

Когда access-токен истекает, вызовите эндпоинт обновления для получения новой пары:

POST /api/v1/auth/refresh

Тело запроса не требуется. Refresh-токен считывается из HTTP-only cookie. При успехе сервер устанавливает новые cookies access_token и refresh_token в ответе.

Если сам refresh-токен истек (после 72 часов неактивности), необходимо войти заново.

Опциональная аутентификация

Некоторые эндпоинты поддерживают опциональную аутентификацию. Они работают как для аутентифицированных, так и для неаутентифицированных пользователей, но возвращают расширенный контент при наличии действительного токена.

Например, эндпоинт списка событий может включать ваш личный статус watchlist и позиции при аутентификации, но возвращать базовые данные события без токена.

Выход из системы

Для завершения сессии и аннулирования токенов:

DELETE /api/v1/auth/logout

Это очищает cookies аутентификации и аннулирует refresh-токен на стороне сервера. После выхода необходимо войти заново для доступа к защищенным эндпоинтам.

Примечания по безопасности

  • Access-токены намеренно кратковременны (20 минут) для ограничения риска при компрометации.
  • Refresh-токены хранятся как HTTP-only cookies, что делает их недоступными для клиентского JavaScript и устойчивыми к XSS-атакам.
  • Всегда используйте HTTPS в производственной среде для защиты токенов при передаче.