Перейти к содержанию

Внешние доступы (OAuth)

Доступ — сохранённая OAuth-авторизация к внешнему сервису. Synth хранит её у себя и сам подставляет токен в транспорт MCP-коннектора: агент и модель токена не видят, в запросе к модели он не появляется.

Так подключаются сервисы, где нужен вход от имени пользователя: почта, календарь, трекер задач, файловое хранилище. Вместо токена открытым текстом в заголовках коннектора вы один раз авторизуетесь, а дальше Synth обновляет токен сам.

Где это в интерфейсе

Настройки → «Доступы» — личный раздел: он доступен каждому пользователю, а не только администратору.

Что видно Кому
Свои доступы владельцу доступа
Доступы уровня проекта участникам проекта
Все доступы инстанса ADMIN и LEAD

Чужой доступ не раскрывается: без права запрос отвечает «не найдено», а не отказом с подробностями.

Как выдать доступ

  1. Откройте Настройки → «Доступы» и нажмите «Создать доступ».
  2. Укажите провайдера и scope — список разрешений через запятую. Чем короче список, тем меньше прав у интеграции.
  3. Выберите способ авторизации:

    • «Код авторизации (PKCE)» — сервис открывается в браузере, вход в пару кликов;
    • «Код устройства (device flow)» — браузера на машине нет, код вводится на другом устройстве.
  4. Нажмите «Получить ссылку авторизации», откройте её и подтвердите доступ в сервисе.

  5. Вернитесь в Synth и вставьте «Код авторизации» из ответа сервиса.

После этого доступ появляется в списке со статусом «активен».

Что видно в списке

Поле Значение
Статус «активен», «истёк», «отозван», «ошибка»
Client ID идентификатор клиента у провайдера — без секрета
Scope выданные разрешения
Маска секрета несколько последних символов; полный токен не показывается
Истекает дата или «бессрочно»
Последнее использование когда доступ последний раз применялся в вызове
Коннектор к какому MCP-серверу привязан доступ

Действия с доступом

  • «Переавторизовать» — заново пройти вход и заменить токен. Нужно, когда провайдер отозвал сессию или изменились разрешения.
  • «Привязать к коннектору» — выбрать MCP-сервер, в чей транспорт Synth будет подставлять токен.
  • «Отозвать» — доступ удаляется, токен перестаёт работать.

Отзыв необратим

После отзыва прежний токен не восстановить: переавторизация создаёт новый доступ, а не оживляет старый. Отзывайте доступ, когда он больше не нужен, и не рассчитывайте вернуть его «как было».

Кто чем распоряжается

Область доступа Кто может переавторизовать, привязать и отозвать
Свой владелец доступа
Инстанса ADMIN и LEAD
Проекта участник проекта с правом изменения содержимого

Остальным доступ не виден. Право читать проект не даёт права распоряжаться его доступами.

Секреты

Секрет не показывается

Ни в списке, ни в карточке доступа нет полного токена — только маска. Забрать токен из интерфейса нельзя, и это осознанно: доступ нужен агенту, а не вам для копирования.

  • client_secret провайдера задаётся только переменной окружения или файлом в каталоге секретов инстанса — в config.yaml его быть не должно.
  • Заголовки авторизации открытым текстом в MCP-коннекторе запрещены: авторизация идёт только через сохранённый доступ.
  • Токены хранятся зашифрованными. Ротация мастер-ключа (synth secrets rotate) перешифровывает сохранённые доступы — заново авторизоваться не нужно.

Если доступ перестал работать

Симптом Причина Что делать
Статус «ошибка» не удалось обновить токен: провайдер отозвал refresh или истёк срок «Переавторизовать» — сам доступ не восстановится
Статус «истёк» истёк срок жизни токена и обновить его не удалось «Переавторизовать»
Статус «отозван» доступ отозвали вручную создать доступ заново
Коннектор отвечает отказом авторизации доступ не привязан к этому серверу «Привязать к коннектору»

Что дальше