OAuth installations without public endpoints for Socket Mode apps
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
調査の方向性
このリクエストは Socket Mode アダプターと新しい Slack OAuth コールバック API に関するものですが、リポジトリ内のファイルもテストも指定していません。まず slack_bolt.adapter 領域と、issue #583 で参照されている議論を調査してください。完了とするには、このリポジトリにおける実装方針が定義され、OAuth インストールイベントに対する対応する検証が必要です。
索引モデルが issue の本文から書いたものです。
説明
At the moment creating simple Bots in SocketMode is easy, but as soon as you want to support OAuth2 installation so that the bot can act on behalf of the user, a whole world of pain and complexity ensues.
The problem is that an app using Socket Mode only makes a single outbound connection, authenticated with its tokens, whereas to support OAuth2 it needs to expose an HTTPS endpoint with a valid certificate. These are very different beasts.
- A Socket Mode app can be run anywhere that can make an outbound connection. If you need OAuth2 then you need to expose the app to the internet.
- A Socket Mode app does not need to know its own DNS address. If you want OAuth2 you do.
- A Socket Mode app does not need a valid SSL certificate. To support OAuth2 you need one.
The requested enhancement, as proposed in this comment on another issue, is that Slack should offer a new API endpoint to provide an OAuth callback location for Socket Mode apps. The Slack API servers would present an endpoint with a URL of the form https://slack.com/api/oauth_redirect/MY_APP_ID and an app would use this in its OAuth2 installation process. When the user completes the OAuth2 flow this endpoint would be hit, the Slack servers would do some simple sanity checks on the values and then the tokens would be presented to the app as an event through the WebSocket connection. If the app is not connected at the time the API would reject the request, so the authentication process would not complete.
Offering this API would greatly simplify the process of deploying OAuth2 apps in Socket Mode. It would allow OAuth2 apps to run in Docker containers that don't have a good idea of where they are running or how they can be addressed. It would have the added security advantage of the app not having to expose any endpoint to the outside world.
Category
- slack_bolt.App and/or its core components
- slack_bolt.async_app.AsyncApp and/or its core components
- Adapters in slack_bolt.adapter
- Others
- 主要言語
- Python
- スター
- 1.3k
- フォーク
- 288
- 平均マージ
- 1日 8時間
- マージ済み PR(30日)
- 10
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
slackapi/bolt-python のほかの issue
-
docs enhancement server-side
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
slackapi/bolt-python#1576 · コメント 1 件 ·
-
auto-triage-skip bug security semver:major
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
slackapi/bolt-python#1447 · コメント 9 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
slackapi/bolt-python#1577 ·
-
area:async auto-triage-skip dependencies
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
slackapi/bolt-python#1472 · コメント 1 件 · リアクション 1 件 ·
-
auto-triage-skip enhancement
slackapi/bolt-python#1346 · コメント 2 件 · 担当者 1 名 ·
slackapi/bolt-python の issue をすべて見る
似ている issue
-
bug confirmed issue
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
open-webui/open-webui#30750 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 90/100