javascript - Recaptcha 错误“意外令牌” - Firebase 云功能
问题描述
const functions = require('firebase-functions');
const express = require('express')
const request = require('request')
const bodyParser = require('body-parser')
const app = express()
app.use(bodyParser.urlencoded({extended: false}))
app.use(bodyParser.json())
app.post('/reserver', (req, res) => {
if(req.body.captcha === undefined || req.body.captcha === '' || req.body.captcha === null) {
return res.json({"success": false, "msg": "Bekræft venligst captcha"})
}
const secretKey = 'SECRET-KEY'
const verifyURL = `https://www.google.com/recaptcha/api/siteverify?secret=${secretKey}&response=${req.body.captcha}`
request(verifyURL, (err, response, body) => {
body = JSON.parse(body)
if(body.success != undefined && !body.success) {
return res.json({"success": false, "msg": "Failed captcha verify"})
}
return res.json({"success": true, "msg": "Godkendt captcha"})
})
})
exports.app = functions.https.onRequest(app)
我正在尝试将 recaptcha 集成到我的网站上。我使用 firebase Cloud 功能来验证验证码。“app”函数的第一部分,即 if 语句,运行良好。但是当我完成recaptcha,因此继续请求(verifyURL,(err,response,body)时,它给了我2个错误。“POST 500”和“Uncaught (in promise) SyntaxError: Unexpected token E in JSON at position 0 ”。任何帮助表示赞赏。
解决方案
推荐阅读
- javascript - React Material UI 滑块
- amazon-sumerian - 如何在 AWS Sumerian 的 HTML 3D 实体中添加 CSS 文件?
- vue.js - Vuetify v-data 表获取索引
- angular - Angular 11 的 TOAST UI 图像编辑器
- ruby-on-rails - 如何更改rails中渲染布局的内容?
- python - 通过与过滤后的 Series 关联的时间戳获取另一个 Series 的值
- facebook - 导出搜索结果 (FB) 中出现的人员的好友列表
- java - 我的新版本 4.2.1 有一个大问题
- laravel - 如何按月分组,日期与 whereHas 条件相关
- java - 如何正确使用 Executer In Room Android