NodeJS Google Recaptcha返回字符串而不是json

k2arahey  于 2022-11-29  发布在  Node.js
关注(0)|答案(1)|浏览(109)

我在使用google recaptcha时遇到了问题,问题是前端给了我令牌,当我在后端检查令牌是否正常时,google recaptcha的api通过字符串给了我数据(当它应该返回一个带有令牌状态的json时)。
我正在使用nodej。
这是用于在后端验证验证码的代码,在“scoreRecaptcha”值的屏幕截图之后

async function validateCaptcha(req) {
  const recaptcha = process.env.CAPTCHA_PRIVATE;
  const token = req.body.token;
  const scoreRecaptcha = await axios.post(
    `https://www.google.com/recaptcha/api/siteverify?secret=${recaptcha}&response=${token}`
  );
  return scoreRecaptcha.data.success;
}

Screenshoot value returned by recaptcha api
我希望scoreRecaptcha.data.success为我提供一个true或false值,以了解验证码是否正确

w6mmgewl

w6mmgewl1#

尝试此代码

const scoreRecaptcha = await axios.post(
    `https://www.google.com/recaptcha/api/siteverify?secret=${recaptcha}&response=${token}`,
    '',
    {
        headers: {
            'Accept-Encoding': 'application/json',
        }
    }
  );

相关问题