Создание Slack OAuth app для OpenConnector
Используйте Slack OAuth app, когда OpenConnector должен читать разговоры Slack, выводить список пользователей, отправлять сообщения, загружать файлы или управлять реакциями через сервис slack.
Сервис OpenConnector
| ID сервиса | Провайдер | Тип авторизации |
|---|---|---|
slack | Slack | OAuth2 |
Провайдер Slack в OpenConnector использует Slack OAuth v2 и запрашивает scopes channels:read, groups:read, im:read, mpim:read, history scopes, file scopes, users:read, chat:write, im:write и scopes реакций.
Предварительные требования
- Запущенный runtime OpenConnector.
- Разрешение на создание или управление Slack app для целевого workspace.
- Разрешение на установку apps в Slack workspace или доступ к владельцу или администратору workspace, который может подтвердить установку.
- Origin OpenConnector, который пользователи открывают в браузере, например
http://localhost:3000илиhttps://connect.example.com.
Шаг 1. Настройте callback URL OpenConnector
Добавьте /oauth/callback к origin OpenConnector.
Для локального тестирования используйте http://localhost:3000/oauth/callback. Если Slack не принимает локальный callback URL, опубликуйте OpenConnector через HTTPS tunnel или публичный домен, задайте OOMOL_CONNECT_ORIGIN, перезапустите runtime и используйте публичный callback URL, например https://connect.example.com/oauth/callback.
Шаг 2. Создайте Slack app
В разделе управления apps Slack API:
- Создайте новую app.
- Выберите workspace для разработки или тестирования.
- Откройте OAuth & Permissions.
- Добавьте точный callback URL OpenConnector в redirect URLs.
- Добавьте scopes bot token, необходимые для actions OpenConnector.
- Сохраните настройки app.
Обзор OAuth Slack: Installing with OAuth. Справочник scopes: Scopes.
Шаг 3. Скопируйте client credentials
Откройте Basic Information для Slack app и скопируйте:
| Значение Slack | Поле OpenConnector |
|---|---|
| Идентификатор клиента | clientId |
| Секрет клиента | clientSecret |
Не используйте bot token как OAuth client secret. OpenConnector запускает OAuth flow и хранит полученный credential Slack после авторизации.
Шаг 4. Сохраните клиент Slack в OpenConnector
Используйте web console OpenConnector:
- Откройте web console OpenConnector, например
http://localhost:3000. - Откройте Providers и выберите Slack.
- Выберите Configure OAuth Client или Edit OAuth Client.
- Вставьте client ID и client secret Slack.
- Выберите Save OAuth Client.
Шаг 5. Подключите и проверьте
После сохранения OAuth client выберите Connect на странице провайдера Slack. Выберите Slack workspace, подтвердите app, вернитесь в OpenConnector и убедитесь, что workspace отображается как подключённый.
К безопасным тестовым actions относятся slack.list_conversations, slack.list_channels и slack.list_users.
Устранение неполадок
| Симптом | Что проверить |
|---|---|
| Slack отклоняет redirect URL | Убедитесь, что redirect URL Slack — <openconnector-origin>/oauth/callback. Если нужен HTTPS, используйте публичный HTTPS origin и задайте OOMOL_CONNECT_ORIGIN. |
| App не устанавливается | Если workspace ограничивает установку apps, попросите владельца или администратора Slack workspace подтвердить app. |
| Каналы отсутствуют | Видимость публичных и приватных каналов зависит от scopes, политики Slack workspace и доступа app к каналу. При необходимости пригласите app в приватные каналы. |
| Actions с сообщениями не выполняются | Убедитесь, что у app есть scopes записи, например chat:write, и доступ к целевому разговору. |
| Изменения scopes не применяются | Переустановите или повторно подключите Slack после изменения scopes, чтобы подключённый credential получил новые разрешения. |
Wanta