カスタムOAuth アプリケーションの作成
カスタムOAuth アプリケーションの作成
CData はOAuth アプリケーション認証情報を製品に組み込んでおり、デスクトップアプリケーションまたはヘッドレスマシン経由でSlack に接続する際に使用できます。(OAuthAccessToken およびその他の設定パラメータを取得および設定する方法についての情報は、DSN の作成 の デスクトップ認証セクションを参照してください。)ただし、Web 経由で接続するには、カスタムOAuth アプリケーションの作成が必要です。また、カスタムOAuth アプリケーションは、一般的に使用される3つの認証フローをすべてシームレスにサポートするため、これらの認証フロー用にカスタムOAuth アプリケーションを作成(独自のOAuth アプリケーションクレデンシャルを使用)することもできます。
カスタムOAuth アプリケーションは、次のような場合に有用です。
- 認証ダイアログのブランディングをコントロールしたいとき
- ユーザー認証後にアプリケーションがユーザーをリダイレクトするためのリダイレクトURI をコントロールしたいとき
- ユーザーからのリクエストに対する許可をカスタマイズしたいとき
手順
OAuth 資格情報のOAuthClientId、OAuthClientSecret、CallbackURL を取得するには、OAuth アプリケーションの作成が必要です。 これには、アプリケーション本体の作成、アプリケーションのコールバックURL の設定、パーミッションスコープの設定が含まれます。
アプリケーションの作成
OAuth アプリケーションを作成すると、2つのOAuth クライアント資格情報、OAuthClientId およびOAuthClientSecret が取得されます。
- https://api.slack.com/apps に移動します。
- Create New App > From scratch をクリックします。
- アプリケーションの名前とワークスペースを指定し、Create App をクリックします。クライアントId とクライアントシークレットは、Basic Information のApp Credentials セクションにリストされています。
- 今後使用するために、Client Id とClient Secret を控えておきます。
コールバックURL の設定
アプリケーションを作成したら、CallbackURL を定義します。
- アプリケーション設定で、Features > OAuth & Permissions に移動します。
- Redirect URL セクションでAdd a New Redirect URL をクリックします。
- コールバック URL を http://127.0.0.1:33333、もしくはお好みのポートに設定します。
- URLを控えておきます。
権限スコープの設定
すべての利用可能な機能を使用するには、アプリケーション自体で必要なスコープを指定する必要があります。
OAuth アプリケーションで適切なスコープを設定するには:
- アプリ設定で、Features > OAuth & Permissions > Scopes に移動します。
- 通常のユーザーを認証する場合はUser Token Scopes に、ボットユーザーを認証する場合はBot Token Scopes に移動します。
- Add an OAuth Scope をクリックして、Add permission by Scope or API method... というスコープセレクタを開きます。
- リストから目的のスコープを選択します。
- 目的のスコープを追加し終えるまで、ステップ3~4を繰り返します。
最新のアプリに必要なスコープ(V2 OAuth 2.0):
OAuthVersion をv2 に設定した場合(Slack のOAuth2.0 "V2" 実装)、以下のスコープを有効にします。
- calls:read
- calls:write
- channels:read
- channels:history
- channels:write
- chat:write
- dnd:read
- dnd:write
- files:read
- files:write
- groups:read
- groups:history
- groups:write
- im:read
- im:history
- im:write
- links:read
- links:write
- mpim:read
- mpim:history
- mpim:write
- pins:read
- pins:write
- reactions:read
- reactions:write
- reminders:read
- reminders:write
- search:read
- stars:read
- stars:write
- team:read
- usergroups:read
- usergroups:write
- users:read
- users:read.email
- users.profile:write
これらの値はすべて、GetOAuthAuthorizationURL およびGetOAuthAccessToken プロシージャのデフォルトスコープとして送信されます。
"Sign in with Slack" アプリに必要なスコープ(OpenID Connect):
OAuthVersion にopenid を設定した場合("Sign in with Slack" OpenID Connect フロー)、以下のスコープのみを指定します:
- openid
- profile
カスタムOAuth アプリケーションの配布
OAuth アプリケーションを他のワークスペースのユーザーが利用できるようにし、インストールできるようにするには:- アプリケーションの設定(設定セクション)で、Manage Distribution をクリックします。
- コールバックURL の設定と権限の設定の手順を完了します。
- Activate Public Distribution をクリックします。