Внешние доступы (OAuth)¶
Доступ — сохранённая OAuth-авторизация к внешнему сервису. Synth хранит её у себя и сам подставляет токен в транспорт MCP-коннектора: агент и модель токена не видят, в запросе к модели он не появляется.
Так подключаются сервисы, где нужен вход от имени пользователя: почта, календарь, трекер задач, файловое хранилище. Вместо токена открытым текстом в заголовках коннектора вы один раз авторизуетесь, а дальше Synth обновляет токен сам.
Где это в интерфейсе¶
Настройки → «Доступы» — личный раздел: он доступен каждому пользователю, а не только администратору.
| Что видно | Кому |
|---|---|
| Свои доступы | владельцу доступа |
| Доступы уровня проекта | участникам проекта |
| Все доступы инстанса | ADMIN и LEAD |
Чужой доступ не раскрывается: без права запрос отвечает «не найдено», а не отказом с подробностями.
Как выдать доступ¶
- Откройте Настройки → «Доступы» и нажмите «Создать доступ».
- Укажите провайдера и scope — список разрешений через запятую. Чем короче список, тем меньше прав у интеграции.
-
Выберите способ авторизации:
- «Код авторизации (PKCE)» — сервис открывается в браузере, вход в пару кликов;
- «Код устройства (device flow)» — браузера на машине нет, код вводится на другом устройстве.
-
Нажмите «Получить ссылку авторизации», откройте её и подтвердите доступ в сервисе.
- Вернитесь в Synth и вставьте «Код авторизации» из ответа сервиса.
После этого доступ появляется в списке со статусом «активен».
Что видно в списке¶
| Поле | Значение |
|---|---|
| Статус | «активен», «истёк», «отозван», «ошибка» |
| Client ID | идентификатор клиента у провайдера — без секрета |
| Scope | выданные разрешения |
| Маска секрета | несколько последних символов; полный токен не показывается |
| Истекает | дата или «бессрочно» |
| Последнее использование | когда доступ последний раз применялся в вызове |
| Коннектор | к какому MCP-серверу привязан доступ |
Действия с доступом¶
- «Переавторизовать» — заново пройти вход и заменить токен. Нужно, когда провайдер отозвал сессию или изменились разрешения.
- «Привязать к коннектору» — выбрать MCP-сервер, в чей транспорт Synth будет подставлять токен.
- «Отозвать» — доступ удаляется, токен перестаёт работать.
Отзыв необратим
После отзыва прежний токен не восстановить: переавторизация создаёт новый доступ, а не оживляет старый. Отзывайте доступ, когда он больше не нужен, и не рассчитывайте вернуть его «как было».
Кто чем распоряжается¶
| Область доступа | Кто может переавторизовать, привязать и отозвать |
|---|---|
| Свой | владелец доступа |
| Инстанса | ADMIN и LEAD |
| Проекта | участник проекта с правом изменения содержимого |
Остальным доступ не виден. Право читать проект не даёт права распоряжаться его доступами.
Секреты¶
Секрет не показывается
Ни в списке, ни в карточке доступа нет полного токена — только маска. Забрать токен из интерфейса нельзя, и это осознанно: доступ нужен агенту, а не вам для копирования.
client_secretпровайдера задаётся только переменной окружения или файлом в каталоге секретов инстанса — вconfig.yamlего быть не должно.- Заголовки авторизации открытым текстом в MCP-коннекторе запрещены: авторизация идёт только через сохранённый доступ.
- Токены хранятся зашифрованными. Ротация мастер-ключа (
synth secrets rotate) перешифровывает сохранённые доступы — заново авторизоваться не нужно.
Если доступ перестал работать¶
| Симптом | Причина | Что делать |
|---|---|---|
| Статус «ошибка» | не удалось обновить токен: провайдер отозвал refresh или истёк срок | «Переавторизовать» — сам доступ не восстановится |
| Статус «истёк» | истёк срок жизни токена и обновить его не удалось | «Переавторизовать» |
| Статус «отозван» | доступ отозвали вручную | создать доступ заново |
| Коннектор отвечает отказом авторизации | доступ не привязан к этому серверу | «Привязать к коннектору» |
Что дальше¶
- MCP-инструменты — как устроены коннекторы.
- Конфигурация — секреты и параметры инстанса.
- Безопасность — шлюз, права и аудит.
- Релиз 0.12.4 — что ещё появилось.