---
author: OOMOL
author_url: https://oomol.com/ru/about/
title: Создание Slack OAuth app для OpenConnector
description: Создайте Slack app, настройте OAuth redirect URLs и scopes, затем
  подключите Slack к самостоятельно размещённому runtime OOMOL OpenConnector.
lang: ru
canonical_url: https://oomol.com/ru/docs/openconnector-slack-oauth-app/
markdown_url: https://oomol.com/ru/docs/openconnector-slack-oauth-app.md
---

# Создание 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](https://api.slack.com/apps):

1. Создайте новую app.
2. Выберите workspace для разработки или тестирования.
3. Откройте **OAuth & Permissions**.
4. Добавьте точный callback URL OpenConnector в redirect URLs.
5. Добавьте scopes bot token, необходимые для actions OpenConnector.
6. Сохраните настройки app.

Обзор OAuth Slack: [Installing with OAuth](https://docs.slack.dev/authentication/installing-with-oauth). Справочник scopes: [Scopes](https://docs.slack.dev/reference/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:

1. Откройте web console OpenConnector, например `http://localhost:3000`.
2. Откройте **Providers** и выберите **Slack**.
3. Выберите **Configure OAuth Client** или **Edit OAuth Client**.
4. Вставьте client ID и client secret Slack.
5. Выберите **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 получил новые разрешения. |
