---
author: OOMOL
author_url: https://oomol.com/ja/about/
title: OpenConnector 用の Slack OAuth app を作成する
description: Slack app を作成して OAuth redirect URLs と scopes を設定し、Slack を
  self-hosted OOMOL OpenConnector runtime に接続します。
lang: ja
canonical_url: https://oomol.com/ja/docs/openconnector-slack-oauth-app/
markdown_url: https://oomol.com/ja/docs/openconnector-slack-oauth-app.md
---

# OpenConnector 用の Slack OAuth app を作成する

OpenConnector から `slack` service を介して Slack conversations の読み取り、users の一覧表示、messages の送信、files の upload、reactions の管理を行う場合は、Slack OAuth app を使用します。

## OpenConnector サービス

| サービス ID | プロバイダー | 認証方式 |
| --- | --- | --- |
| `slack` | Slack | OAuth2 |

OpenConnector の Slack provider は Slack OAuth v2 を使用し、`channels:read`、`groups:read`、`im:read`、`mpim:read`、history scopes、file scopes、`users:read`、`chat:write`、`im:write`、reaction scopes などを要求します。

## 前提条件

- 実行中の OpenConnector runtime。
- 対象 workspace 用の Slack app を作成または管理する permission。
- Slack workspace に apps をインストールする permission、またはインストールを承認できる workspace owner/admin へのアクセス。
- users が browser で開く OpenConnector origin（`http://localhost:3000`、`https://connect.example.com` など）。

## 手順 1：OpenConnector callback URL を設定する

OpenConnector origin に `/oauth/callback` を追加して callback URL を作成します。

local test では `http://localhost:3000/oauth/callback` を使用します。Slack が local callback URL を受け付けない場合は、HTTPS tunnel または public domain で OpenConnector を公開し、`OOMOL_CONNECT_ORIGIN` を設定して再起動し、`https://connect.example.com/oauth/callback` などの public callback URL を使用します。

## 手順 2：Slack app を作成する

[Slack API app management](https://api.slack.com/apps) で次の操作を行います。

1. 新しい app を作成します。
2. develop または test に使用する workspace を選択します。
3. **OAuth & Permissions** を開きます。
4. redirect URLs に OpenConnector callback URL を正確に追加します。
5. OpenConnector actions に必要な bot token scopes を追加します。
6. app settings を保存します。

Slack の OAuth overview は [Installing with OAuth](https://docs.slack.dev/authentication/installing-with-oauth)、scope reference は [Scopes](https://docs.slack.dev/reference/scopes) です。

## 手順 3：client credentials をコピーする

Slack app の **Basic Information** を開き、次の値をコピーします。

| Slack の値 | OpenConnector のフィールド |
| --- | --- |
| クライアント ID | `clientId` |
| クライアントシークレット | `clientSecret` |

bot token を OAuth client secret として使用しないでください。OpenConnector が OAuth flow を開始し、authorization 後に得られた Slack credential を保存します。

## 手順 4：Slack client を OpenConnector に保存する

OpenConnector web console を使用します。

1. `http://localhost:3000` などの OpenConnector web console を開きます。
2. **Providers** を開いて **Slack** を選択します。
3. **Configure OAuth Client** または **Edit OAuth Client** を選択します。
4. Slack client ID と client secret を貼り付けます。
5. **Save OAuth Client** を選択します。

## 手順 5：接続してテストする

OAuth client を保存した後、Slack provider page で **Connect** を選択します。Slack workspace を選び、app を承認して OpenConnector に戻り、provider page に workspace が connected と表示されることを確認します。

low-risk test actions には、`slack.list_conversations`、`slack.list_channels`、`slack.list_users` があります。

## トラブルシューティング

| 症状 | 確認事項 |
| --- | --- |
| Slack が redirect URL を拒否する | Slack redirect URL が `<openconnector-origin>/oauth/callback` であることを確認します。HTTPS が必要な場合は HTTPS public origin を使用し、`OOMOL_CONNECT_ORIGIN` を設定します。 |
| app をインストールできない | workspace で app installation が制限されている場合は、Slack workspace owner または admin に承認を依頼します。 |
| channels が見つからない | public/private channel visibility は scopes、Slack workspace policy、app の channel access によって異なります。必要に応じて app を private channels に招待します。 |
| Message actions が失敗する | app に `chat:write` などの write scopes があり、対象 conversation にアクセスできることを確認します。 |
| scope changes が反映されない | scopes の変更後に Slack を再インストールまたは再接続し、connected credential に新しい permissions を付与します。 |
