Skip to content

A backend package for integrating Google reCAPTCHA to protect against bots and automated abuse.

License

Notifications You must be signed in to change notification settings

nasriyasoftware/reCAPTCHA

Repository files navigation

Google reCAPTCHA Logo

reCAPTCHA

Static Badge Repository Size Last Commit Status

Visit us at www.nasriya.net.

Nasriya reCAPTCHA is a backend package for integrating Google reCAPTCHA to protect against bots and automated abuse.

Made with ❤️ in Palestine 🇵🇸


Overview

Secure your applications with our comprehensive Google reCAPTCHA backend package. Designed for seamless integration, this package enables robust protection against bots and automated abuse by verifying user interactions with Google's reCAPTCHA service. Effortlessly manage account creations, logins, and other critical operations with enhanced security, ensuring a safer user experience.


Quick Start Guide

Quickly run a integrate Google reCAPTCHA with your server

1. Installation

npm install @nasriya/reCAPTCHA

2. Importing

Importing in ESM modules

import reCAPTCHA from '@nasriya/reCAPTCHA';

Importing in CommonJS modules

const reCAPTCHA = require('@nasriya/reCAPTCHA').default;

Configurations

To configure the package, you must add two environment variables to your .env file:

CAPTCHA_SITE_KEY=<siteKey>
CAPTCHA_SECRET_KEY=<siteSecret>

Usage

To use the package, simply call the authorize method with the token.

const isAuthorized: boolean = await reCAPTCHA.authorize(token);

Here's an example:

import hypercloud from '@nasriya/hypercloud';
import reCAPTCHA from '@nasriya/reCAPTCHA';

const server = hypercloud.server({ secure: true });
const router = server.Router();

router.post('/api/v1/auth', async (req, res, next) => {
    const body = req.body;

    try {
        const isAuthorized = await reCAPTCHA.authorize(body.token);

        if (isAuthorized !== true) {
            return res.pages.unauthorized();
        }

        // Continue processing the request
    } catch {
        res.pages.serverError();
    }
})

License

Please read the license from here.