Oauth 2返回无效客户端

p1tboqfb  于 2023-06-05  发布在  其他
关注(0)|答案(2)|浏览(229)

我尝试使用Discord API实现Oauth 2.0。我知道有软件包为我实现了这一点,但我想自己做这件事。我有以下代码(node JS)

axios
    .post(
        "https://discordapp.com/api/oauth2/token",
        "client_id=" + clientId + "&client_secret=" + clientSecret + "&grant_type=client_credentials&code=" + code + "&redirect_uri=http://localhost:5000"

这总是导致错误“invalid client.”但是使用Postman x1c 0d1x
这个工作!所以我不知道,我在我的js做错了什么...
谢谢你的帮助
顺便说一下:我对nodeJs非常陌生。

isr3a4wc

isr3a4wc1#

这对我来说是有效的,尝试使用适当的头设置application/x-www-form-urlencoded

const axios = require('axios')
const qs = require('querystring')
    
const requestBody = {
  client_id: 'clientId',
  client_secret: 'CLIENT SEVRET',
  grant_type: 'authorization_code',
  code: 'code',
  redirect_uri: 'http://locahost:5000'
}

const config = {
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded'
  }
}

axios.post("https://discordapp.com/api/oauth2/token", qs.stringify(requestBody), config)
  .then((result) => {
    // Do something
  })
  .catch((err) => {
    // Do something
  })
xzlaal3s

xzlaal3s2#

我可以找到我的问题:我将客户端ID保存为Int值,它都是数字。一旦我把''放在客户端ID周围,它就起作用了。我不知道这是一个东西。

相关问题