| description | A continuación, te explicaremos como utilizar Captcha con Forms para maximizar la seguridad e integridad de tu cuenta. |
|---|
{% hint style="warning" %} Por motivos de seguridad, no es posible quitar Captcha. {% endhint %}
Este SDK permite que puedas añadir una validación captcha (Completely Automated Public Turing test to tell Computers and Humans Apart) única de forma sencilla sin importar el proveedor disponible.
{% hint style="info" %} Estamos trabajando para ofrecer más integraciones con proveedores que ofrezcan captcha invisibles. {% endhint %}
- hCaptcha
- Google reCaptcha Enterprise
- Cloudflare Turnstile
Para utilizar Forms SDK podrás instarlo mediante nuestro CDN.
{% tabs %} {% tab title="HTML" %}
<script src="https://cdn.videsk.io/sdk/captcha.min.js"></script>{% endtab %}
{% tab title="Javascript" %}
const script = document.createElement('script');
script.src = 'https://cdn.videsk.io/sdk/captcha.min.js';
document.body.appendChild(script);{% endtab %} {% endtabs %}
const captcha = new CaptchaSDK(providerName, options);{% hint style="info" %} Deberás usar este SDK junto con Phone, el cual provee los argumentos para instanciar Captcha. {% endhint %}
El segundo argumento de Captcha es un object de opciones, el cual debe contener:
siteKey: clave del sitio, el cual debes obtener mediante Phoneresource: URL del recurso JS del proveedor captchanode: id DOM comostringsin query, es decir,#myButtondebe sermyButton.
{% hint style="warning" %}
Definir la opción node solo aplica para proveedores: hCaptcha.
{% endhint %}
{% hint style="warning" %}
La opción node utiliza document.getElementById(node), por lo tanto NO puedes utilizar selectores CSS.
{% endhint %}
Podrás encontrar un ejemplo funcional junto a nuestro Phone SDK.
{% content-ref url="phone/" %} phone {% endcontent-ref %}
Ya instanciado el SDK podrás acceder a los siguientes métodos:
Este método tiene como objetivo que definas un oyente cuando un evento ocurra. Los dos argumentos que recibe son:
event: nombre del eventocallback: función que se ejecutará al ocurrir el evento
captcha.on('token', callback);Este método ejecuta la activación del captcha, el cual podría ser visible o invisible. Esto último dependerá del proveedor.
captcha.exec();Este método permite eliminar el nodo captcha generado.
captcha.remove();{% hint style="info" %} Como buena práctica utiliza este método al momento en que la validación captcha se complete exitosamente. {% endhint %}
Los eventos disponibles son token, close, error.
Este evento se dispara una vez que se ha completado la validación de forma exitosa. El único argumento es un token.
captcha.on('token', token => {
doSomething();
}){% hint style="info" %} Este token es un valor generado automáticamente que utilizamos para validar la autenticidad del usuario. {% endhint %}
Este evento se dispara solo si el proveedor captcha es visible y se ha cerrado/ocultado la interfaz de validación. No hay argumentos.
captcha.on('close', () => {});Este evento se dispara cuando existe un error en la validación, el cual no necesariamente debe estar relacionado con la validación robot-humano.
captcha.on('error', (error) => {
doSomething();
});{% hint style="info" %} Para más información sobre errores de hCaptcha visita esta página. {% endhint %}
const captcha = new CaptchaSDK('hcaptcha', {
siteKey: '...',
resource: '...',
node: 'myButton'
});
captcha.on('token', token => sendMyForm(token));
myButton.addEventListener('click', () => captcha.exec());