验证reCaptcha v2服务器端并且不获取数据

时间:2020-11-09 21:45:22

标签: node.js recaptcha react-google-recaptcha

我有一个非常简单的函数来验证我的客户端Recaptcha令牌,我从Google那里获得了200,但没有数据作为响应...非常感谢任何可以帮助我解决这个问题的人。

const fetch = require('isomorphic-fetch');
const API_ENDPOINT = 'https://www.google.com/recaptcha/api/siteverify'
const secret = process.env.SITE_RECAPTCHA_SECRET;
exports.handler = async (event, context) => {
  const { body } = event;
  const {clientSideRes} = JSON.parse(body);
  const params = `secret=${secret}&response=${clientSideRes}`;
  const url = `${API_ENDPOINT}?${params}`;
  let response;
  try {
    response = await fetch(url, {method: 'post'});
  } catch (err) {
    return {
      statusCode: err.statusCode || 500,
      body: JSON.stringify({
        error: err.message
      })
    }
  }
  return {
    statusCode: 200,
    body: JSON.stringify({
      data: response,
    })
  }
}

0 个答案:

没有答案