javascript - 验证 google reCaptcha 时输入响应和密码无效
问题描述
在向 google recaptcha api 发出发布请求时,我真的很难获得成功的响应。我收到以下回复:
{
"success": false,
"error-codes": [
"invalid-input-response",
"invalid-input-secret"
]
}
我在验证用户的响应时查看了reCAPTCHA - error-codes: 'missing-input-response', 'missing-input-secret' (缺少 POST 上的详细信息),并尽可能地遵循了答案,但没有成功。
下面是我的文件:
var request = require('request');
module.exports = {
verifyCaptcha: function(req, res) {
var secret = 'SECRET_KEY';
var response = JSON.stringify(req.body.response);
request({
url: 'https://www.google.com/recaptcha/api/siteverify',
method: 'POST',
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: `secret=${secret}&response=${response}`,
}, function (err, response, body) {
if (err) {
res.status(500).send({
error: "Could not verify captcha"
});
} else {
res.status(200).send({
message: body
});
}
});
},
}
如果有人有解决此问题的方法,请告诉我!
解决方案
由于文档:https ://developers.google.com/recaptcha/docs/verify
invalid-input-secret: secret 参数无效或格式错误。 也许您混合了 site_key 和 secret_key。
推荐阅读
- elf - 如何查找 ppc 的重定位表信息
- python - django查询集中的sql字符串无法在pymysql中执行?
- django - 如何更新扩展的 Django 用户模型?
- intellij-idea - 如何让版本控制选项卡出现在 intellij 中?
- html - 引导,容器流体类不能改变填充
- excel - 如何将 VBA 函数应用于选定范围并将结果粘贴到同一范围?
- javascript - 在控制台中显示值 shoe false
- macos - 如何禁用 NSOutlineView 的自动编辑
- reactjs - POST https://google-translate1.p.rapidapi.com/language/translate/v2 502 (Bad Gateway) 在 React 中获取时
- reactjs - RadioGroup 没有从单选按钮获取正确的值 - Material UI