松弛的oauth.access API会返回bad_redirect_uri,而无需请求redirect_uri

时间:2018-10-07 17:05:15

标签: javascript oauth slack slack-api

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

该应用程序配置为允许localhost和公共域。

这是我正在做的请求

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',
  },
});

要启动身份验证流程,我正在从浏览器中调用此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

1 个答案:

答案 0 :(得分:1)

您不能将localhost用作redirect_uri。

如果要在本地PC上使用OAuth,建议安装ngrok之类的VPN隧道,以使您以相对安全的方式将本地PC暴露给Internet。在official Slack tutorials之一中也提到了ngrok,作为有关如何使用Slack设置本地开发环境的示例。

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