Ответ 1
Я только что опубликовал учебный блог о том, как интегрировать reCAPTCHA на веб-сайт, используя Firebase Hosting для обслуживания контента и облачных функций для Firebase для проверки ответа, полученного от reCAPTCHA. Сама функция выглядит так, предполагая, что токен ответа получен через строку запроса:
const functions = require('firebase-functions')
const rp = require('request-promise')
exports.checkRecaptcha = functions.https.onRequest((req, res) => {
const response = req.query.response
console.log("recaptcha response", response)
rp({
uri: 'https://recaptcha.google.com/recaptcha/api/siteverify',
method: 'POST',
formData: {
secret: 'PASTE_YOUR_SECRET_CODE_HERE',
response: response
},
json: true
}).then(result => {
console.log("recaptcha result", result)
if (result.success) {
res.send("You're good to go, human.")
}
else {
res.send("Recaptcha verification failed. Are you a robot?")
}
}).catch(reason => {
console.log("Recaptcha request failure", reason)
res.send("Recaptcha request failed.")
})
})