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 で次の操作を行います。
- 新しい app を作成します。
- develop または test に使用する workspace を選択します。
- OAuth & Permissions を開きます。
- redirect URLs に OpenConnector callback URL を正確に追加します。
- OpenConnector actions に必要な bot token scopes を追加します。
- app settings を保存します。
Slack の OAuth overview は Installing with OAuth、scope 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 を使用します。
http://localhost:3000などの OpenConnector web console を開きます。- Providers を開いて Slack を選択します。
- Configure OAuth Client または Edit OAuth Client を選択します。
- Slack client ID と client secret を貼り付けます。
- 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 を付与します。 |
Wanta