我使用vue作为前端。我这样从前端发送令牌:
let payload = {
token: tokenCaptcha
}
axios.post(`http://127.0.0.1:3333/api/v1/category`, payload)
.then(response => {
return response.data
}).catch(
error => {
console.log(error)
})
该令牌将用于在后端进行验证。我的后端使用adonis.js
这样的控制器脚本:
'use strict'
class CategoryController {
async store ({ request, response }) {
return request.input('token')
}
}
module.exports = CategoryController
我的路线是这样的:
Route.group(()=>{
Route.post('category', 'CategoryController.store')
}).prefix('api/v1')
如何验证adonis.js(后端)上的令牌?
我有搜索参考。但我找不到]
您需要使用axios
。类似于:
const axios = use('axios')
const Env = use('Env')
const querystring = use('querystring')
try {
const data_request = await axios.post('https://www.google.com/recaptcha/api/siteverify', querystring.stringify({ secret: Env.get('RECAPTCHA_PRIVATE_KEY'), response: data['g-recaptcha-response'] }))
if (!data_request.data.success) {
//If the recaptcha check fails
...
}
} catch (error) {
...
}
}
Google documentation - Verifying the user's response
此代码适用于v2。但是验证是相同的:https://developers.google.com/recaptcha/docs/v3#site_verify_response