Discord OAuth2:'请求中缺少“代码”'
Posted
技术标签:
【中文标题】Discord OAuth2:\'请求中缺少“代码”\'【英文标题】:Discord OAuth2: 'Missing "code" in request'Discord OAuth2:'请求中缺少“代码”' 【发布时间】:2020-10-12 20:12:44 【问题描述】:几个月前我写了一个 Discord OAuth2 验证代码,它成功了。但现在它不起作用。 Discord 响应“请求中缺少“代码””。我看了看,我的请求发送了代码。我该如何解决这个问题?
取码access_token
:
const response = await fetch(`https://discordapp.com/api/oauth2/token?grant_type=authorization_code&code=$code&redirect_uri=$loginredirect`,
method: 'POST',
headers:
Authorization: `Basic $creds`,
);
const json = await response.json();
【问题讨论】:
【参考方案1】:看起来您已经获得了调用令牌端点并将代码交换为令牌所需的字段。您需要在表单正文中发送数据 - 像这样:
const response = await fetch(`https://discordapp.com/api/oauth2/token`,
method: 'POST',
headers:
Authorization: `Basic $creds`,
,
body: JSON.stringify(
grant_type: 'authorization_code',
code,
redirect_uri: loginredirect,
),
);
const json = await response.json();
我还会考虑使用 OAuth 安全库(例如 openid-client)来为您进行更多安全检查,而不是使用原始提取 API。
【讨论】:
它不工作。它给出错误“invalid_grant”。以上是关于Discord OAuth2:'请求中缺少“代码”'的主要内容,如果未能解决你的问题,请参考以下文章
向 Discord API 发送 OAuth2 请求时的 invalid_client
Discord bot 无法访问 Google Sheets 获取错误请求缺少有效的 API 密钥
Discord API - 传回生成的 OAuth2 代码的随机“无效代码”错误
Google OAuth2 .Net HttpPost 请求 access_token 中缺少 refresh_token
错误:应用程序(...):渲染没有返回任何内容。这通常意味着缺少返回语句 discord.js react typescript