Slack OAuth:本地测试请求的权限无效

wha*_*atf 6 slack-api slack

对于我的本地测试,我试图从 slack 获取并保存用户的访问令牌。

第一步是获得用户的许可,我试图将用户重定向到以下 URL -

 https://slack.com/oauth/v2/authorize?scope=commands,bot&client_id=<MY_CLIENT_ID>&redirect_uri=https://localhost:3000/slack-verify/
Run Code Online (Sandbox Code Playgroud)

然后该请求将用户(当前是我)重定向到

https://<MY-WORKSPACE>.slack.com/oauth?client_id=<CLIENT_ID>&redirect_uri=https%3A%2F%2Flocalhost%3A3000%2Fslack-verify%2F&state=&scope=commands%2Cbot&user_scope=&granular_bot_scope=1&team=&install_redirect=&single_channel=0&tracked=1
Run Code Online (Sandbox Code Playgroud)

理想情况下,它应该返回 GET 参数中的代码,但它在屏幕上显示错误 -

<APP NAME> could not be installed. Error details
Invalid permissions requested
Run Code Online (Sandbox Code Playgroud)

这里有什么问题吗?

编辑:也将 localhost 替换为 ngrok URL,但这也不起作用。

重现步骤

 https://slack.com/oauth/v2/authorize?scope=commands,bot&client_id=<MY_CLIENT_ID>&redirect_uri=https://localhost:3000/slack-verify/
Run Code Online (Sandbox Code Playgroud)

只需输入您的客户端 ID 并重定向 uri 本地(如果有)。

Eri*_*ken 3

重定向到您的ngrok地址通常效果很好。

为了让它发挥作用,你需要

  1. 让 ngrok 应用程序运行您的本地计算机并且
  2. ngrok在呼叫 Slack 时包含您的个人地址。

它应该看起来像这样链接:

https://slack.com/oauth/v2/authorize?scope=commands,bot&client_id=<MY_CLIENT_ID>&redirect_uri=https://12345678.eu.ngrok.io/slack-verify/
Run Code Online (Sandbox Code Playgroud)