ドキュメントを閲覧

OpenConnector 用の Slack OAuth app を作成する

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

OpenConnector サービス

サービス IDプロバイダー認証方式
slackSlackOAuth2

OpenConnector の Slack provider は Slack OAuth v2 を使用し、channels:readgroups:readim:readmpim:read、history scopes、file scopes、users:readchat:writeim:write、reaction scopes などを要求します。

前提条件

  • 実行中の OpenConnector runtime。
  • 対象 workspace 用の Slack app を作成または管理する permission。
  • Slack workspace に apps をインストールする permission、またはインストールを承認できる workspace owner/admin へのアクセス。
  • users が browser で開く OpenConnector origin(http://localhost:3000https://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 で次の操作を行います。

  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、scope reference は Scopes です。

手順 3:client credentials をコピーする

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

Slack の値OpenConnector のフィールド
クライアント IDclientId
クライアントシークレット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_conversationsslack.list_channelsslack.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 を付与します。