【发布时间】:2021-06-29 17:21:59
【问题描述】:
我目前正在处理一个项目,但在尝试从 discords oauth2 路由获取令牌时遇到问题。每当我尝试调用我的 api 方法时,discord API 都会响应说 redirect_uri 无效。我不完全确定我做错了什么。
let data = {
client_id: client_id,
client_secret: client_secret,
code: code.toString(),
grant_type: 'authorization_code',
scope: 'identify',
redirect_uri: redirect_uri,
}
const config = {
headers: {'content-type': 'application/x-www-form-urlencoded'}
}
await Axios.post('https://discord.com/api/oauth2/token', new URLSearchParams(data), config)
.then((res) => {
let data = res.data;
response.send(data);
})
.catch((err) => {
console.log(err);
response.sendStatus(500);
})
}
这是我在控制台中看到的错误:
data: {
error: 'invalid_request',
error_description: 'Invalid "redirect_uri" in request.'
}
【问题讨论】:
-
您确定您的重定向 URI 方案匹配,即 http 与 https。 ?
-
当您在项目中创建 oauth2 客户端时,您必须指定一个 redirect_uri。您在 discord 中指定的内容必须完全与您传递的内容相匹配。方案、路径、域、端口,一切都必须相同。如果您收到此错误,则表示不匹配。
-
我得到这个错误的原因是因为我输入了错误的
redirect_uri参数,将它错误地命名为redirect_url。
标签: javascript oauth discord