Slack oauth.access API返回bad_redirect_uri而不请求redirect_uri

Lab*_*tis 5 javascript oauth slack-api slack

尝试使用 slack 为自定义应用程序设置 oAuth,而 slack 的 API 正在返回{"ok":false,"error":"bad_redirect_uri"}. 我没有为 oauth.access 设置重定向,即使我设置了重定向,我仍然会遇到相同的错误。

该应用程序配置为允许本地主机和公共域。

这是我正在做的请求

const res = await request({
  method: 'post',
  uri: 'https://slack.com/api/oauth.access',
  auth: {
    user: process.env.SLACK_CLIENT_ID,
    pass: process.env.SLACK_CLIENT_SECRET,
  },
  form: {
    code,
    // redirect_uri: 'http://localhost:3100',
  },
});
Run Code Online (Sandbox Code Playgroud)

为了启动身份验证流程,我从浏览器调用此 URL:

https://slack.com/oauth/authorize?client_id=XXX&scope=commands,im:read,im:write&redirect_uri=http://localhost:3100/integrations/slack.request&state=ID

Eri*_*ken 2

您不能用作localhostredirect_uri。

如果您想在本地 PC 上使用 OAuth,我建议您安装像ngrok这样的 VPN 隧道,它允许您以相对安全的方式将本地 PC 暴露到互联网。在官方 Slack 教程之一中也提到了 ngrok作为如何使用 Slack 设置本地开发环境的示例。

还要确保您的 PC 上安装了网络服务器。