如何修复 Discord OAuth2 返回“请求中无效的‘代码’”?

问题描述 投票:0回答:2

我目前正在尝试构建一个身份验证应用程序,但是当尝试从提供的代码不一致中获取刷新令牌时,我不断收到

Invalid "code" in request

这是我的请求的快照:

const response = await fetch(`https://discord.com/api/oauth2/token`, {
    method: "POST",
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    },
    body: new URLSearchParams({
        grant_type: "authorization_code",
        code: code,
        redirect_uri: redirectURI,
        client_id: process.env.DISCORD_CLIENT_ID as string,
        client_secret: process.env.DISCORD_CLIENT_SECRET as string,
        scope: 'identify email'
    }).toString()
})

我使用完全相同的范围、重定向 uri 和代码。我已确保我的凭据正确并且返回的 JSON 为

{ error: 'invalid_grant', error_description: 'Invalid "code" in request.' }

这个问题有什么解决办法吗?非常感谢。

javascript typescript discord oauth discord.js
2个回答
0
投票

您的

auhorization_code
有错字。应该是
authorization_code


0
投票

我不确定是否是同样的问题,但对我来说,问题是在我的代码中总是使用格式错误的调用,而我第二次尝试使用该代码时总是:

{
    "error": "invalid_grant",
    "error_description": "Invalid \"code\" in request."
}

请确保您只使用该代码一次! 这可能是问题所在吗?

© www.soinside.com 2019 - 2024. All rights reserved.