invalid_code 当 authorizin slack oauth

invalid_code when authorizin slack oauth

我正在生成 授权 link:

var url = `https://slack.com/oauth/authorize?client_id=*****.*****&redirect_uri=http://localhost:6001/code/slack&state=${state}&scope=channels:read,bot`

重定向端点中:

var url = 'https://slack.com/api/oauth.v2.access';
  var data = {
    'grant_type': 'authorization_code',
    'client_id': "*****.******",
    'code': req.query.code,
    'redirect_uri': 'http://localhost:6001/code/slack'
  };

  axios.post(url, data, {
    headers: {
      'Content-Type': 'application/json; charset=utf-8'
    }
  }).then((response: any) => {
    console.log(response.data)

  }).catch((error: any) => {
    res.status(400).json(error.response.data);
  });

但是,当我出于某种原因收到此错误消息时 { ok: false, error: 'invalid_code' }

难道是因为我有一个http重定向点?我不这么认为,因为我能够收到请求中的代码和状态。

按照这个https://api.slack.com/methods/oauth.v2.access

'Content-Type': 'application/x-www-form-urlencoded'

client_secret 是必需的。 代码可能必须从 URL 编码

解码