A package to keep your AdonisJS applications safe from bots, spam and protect your user privacy
Install and configure the package in your Adonis project.
# npm
npm i adonisjs-hcaptcha
node ace configure adonisjs-hcaptcha
# yarn
yarn add adonisjs-hcaptcha
node ace configure adonisjs-hcaptcha
Signup for a account on hCaptcha website Login and follow the steps to get your secret and site key
HCAPTCHA_SECRET_KEY=YOUR_SECRET_KEY
HCAPTCHA_SITE_KEY=YOUR_SITE_KEY
import Env from '@ioc:Adonis/Core/Env'
export default Env.rules({
// ....
HCAPTCHA_SITE_KEY: Env.schema.string(),
HCAPTCHA_SECRET_KEY: Env.schema.string(),
})
Server.middleware.registerNamed({
// ....
hcaptcha: () => import('App/Middleware/Hcaptcha'),
})
Route.post('login', 'UserController.login').middleware('hcaptcha')
The new middleware will check for h-captcha-response
field in request input
h-captcha-response
field will contain the unique one time non repeating token which will be validated with hCaptcha to make sure its not a bot
export default class UsersController {
public async index({ hcaptcha }: HttpContextContract) {
if (hcaptcha.success) {
// Do some action
}
// Throw error
}
}