Введение

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

Каждый запрос к Agent авторизуется JWT-токеном (RS256), выданным Aist Back. Токен передаётся в заголовке Authorization.

Заголовок авторизации

Все клиентские эндпоинты (кроме внутренних webhook/tool-колбэков) требуют заголовок:

Authorization: Bearer <jwt>
Accept: application/json

Токен подписан алгоритмом RS256. Agent проверяет подпись публичным ключом Aist Back (ключ кэшируется и периодически обновляется), а также срок действия. Приватный ключ и секреты наружу не передаются.

Где взять токен

JWT выдаёт Aist Back — центральный бэкенд экосистемы. Токен привязан к пользователю и содержит Sanctum-токен, которым Agent от вашего имени обращается к Aist Back (создание чатов, ходов, сохранение результата). Получение токена — на стороне вашей интеграции с Aist Back.

Поля токена (payload)

ПолеНазначение
subID пользователя. Сохраняется в задаче, по нему считается лимит активных задач.
sanctumBearer-токен для запросов Agent → Aist Back.
expСрок действия. Просроченный токен отклоняется (401).
abilitiesПрава токена, пробрасываются в контекст запроса.

Отзыв токенов

Если Aist Back отвечает 403 на запрос от имени пользователя, Agent заносит соответствующий JWT в чёрный список — все последующие запросы с этим токеном получат 401. Просроченные записи чёрного списка удаляются автоматически.

Требования к запросам Agent → Aist Back
Внутри Agent все запросы к Aist Back несут заголовки Referer и Accept: application/json — без них Aist Back возвращает 404. Для вас как клиента это прозрачно, но объясняет, почему ошибка «ассистент недоступен» иногда маскирует проблему конфигурации.