ReCaptcha v3 con Angular

La seguridad en las aplicaciones web es esencial y, para proteger contra bots y spam, reCAPTCHA es una solución confiable. En este tutorial detallado, aprenderás cómo implementar reCAPTCHA v3 con Angular, fortaleciendo la seguridad y mejorando la integridad de tus formularios.

Configura tu dominio para ReCaptcha en Google

Se debe tener una cuenta en google y entrar al siguiente link: https://www.google.com/recaptcha/, Aquí lo primero que se debe hacer es acreditar que el dominio en donde se va a ejecutar el reCAPTCHA sea de tu propiedad, para eso Google le pedirá completar algunos pasos de verificación. Una vez hecho lo anterior, también nos aseguramos de poner localhost, ya que así podremos hacer pruebas en nuestro ambiente local de desarrollo.

Recuerda elegir la versión 3 de reCAPTCHA

reCAPTCHA V3 google

Agregamos nuestro dominio y no olvidemos agregar localhost para pruebas en nuestro ambiente local

dominios recaptchav3

Obtiene las key de Google

Obtén las claves de sitio y secreta necesarias para integrar reCAPTCHA en tu aplicación.

recaptcha keys

Recuerda que:

La clave de sitio la utilizarás en el front y la clave secreta en tu backend

Una vez tenemos las claves ya vamos al siguiente paso.

Creando un proyecto Angular

Para este paso, si no tienes un proyecto ya creado, te invito a visitar el siguiente link, el cual explica paso a paso para crear tu proyecto

https://tenocode.com/crear-un-nuevo-proyecto-angular/

Formularios en Angular

Lo primero que haremos será crear nuestro formulario, el cual queremos tener el sistema de seguridad ReCaptcha v3, nosotros lo implemetaremos en nuestro formulario de Registro de Usuarios

Para este paso podemos completar el siguiente post https://tenocode.com/login-y-registro-con-angular/, si ya lo viste o ya tienes tu propio formulario, podemos continuar

Implementando ReCaptcha v3

El primer paso será instalar una librería Angular que nos ayudará con el proceso de implementación. Este es el link https://www.npmjs.com/package/ng-recaptcha?activeTab=readme

Instalamos con:

En nuestro caso se agrego la version 11 ya que nuestra version de angular de desarrollo en la 15, si necesitasa saver tu version de angular lo puedes hacer con el comando

Luego debemos importar en nuestro módulo la librería instalada, en nuestro caso el modulo donde tenemos el formulario de registro es auth.module y debería quedar así

Ahora necesitamos modificar nuestro componente en donde se encuentra el formulario.

Importamos recaptcha

en el constructor agregamos el servicio recaptcha

Ahora debemos implementar OnInit en nuestro componente, esto hará que se muestre la etiqueta de recaptcha 3 en nuestra página

Deberías visualizar algo así

recaptcha 3 visualizacion

El siguiente paso, será obtener el token de recaptcha y enviarlo a nuestro backend, en donde se validará si el token es correcto o no. Para ello creamos una función privada de la siguiente forma, (todo esto en el mismo componente de registro en donde se encuentra el formulario)

Si deseas obtener el código fuente te dejo mis repositorios públicos:

https://github.com/mweikat/angular_bootstrap_front

y el backend con laravel

https://github.com/mweikat/laravel_back_api

Entradas relacionadas

Crear un nuevo proyecto Angular

Angular, un marco de desarrollo front-end robusto, es una excelente opción para construir aplicaciones web dinámicas. Este tutorial paso a paso está diseñado para principiantes, guiándote en la creación de tu primer proyecto Angular y mostrándote cómo levantar una aplicación “Hola Mundo”.