You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 105 Next »

Introduction

Invisible reCAPTCHA Form Element Plugin is used to protect forms developed in Joget DX from spams or abuse from malicious automated bots that are programmed to enter false or irrelevant information into a form, while being as transparent as possible to legitimate users of the platform.

About reCAPTCHA

  • reCAPTCHA is a free Google service with the acronym of "Completely Automated Public Turing test to tell Computers and Humans Apart".
  • It can identify whether a form is submitted by a real human or a bot.
  • For more information about reCAPTCHA, see: https://www.google.com/recaptcha/about/.

Installing the plugin in Joget DX

You can follow the steps below, or refer to Manage Plugins to read more about managing plugins:

  1. Download invisible-recaptcha-field-7.0.0.jar into your computer
  2. In the Joget DX platform, go to System Settings > Manage Plugins > Upload Plugin
  3. Click on Choose File, select the .jar file you just downloaded, and click Upload

Using the plugin in a Form

In the Form Builder, open up any Form that you wish to implement this feature for.

Search the Form Element Palette for the Invisible reCAPTCHA element under the Marketplace section.

Drag and drop this element into your Form.

Click on the element in your form and the Edit Invisible reCAPTCHA panel appears (on the right hand side).

In the Edit Invisible reCAPTCHA configuration, you are required to insert the information for the following fields:

  • ID
  • reCAPTCHA site key
  • reCAPTCHA secret key

Your ID can be any meaningful name you want (e.g. invisible_recaptcha).

Generating important keys for the plugin will explain how to generate the required reCAPTCHA site key and reCAPTCHA secret key for this plugin.

Generating important keys for the plugin

You can follow the steps below, or refer to this related guide online:

  1. Go to https://www.google.com/recaptcha/about/
  2. Click on v3 Admin Console at the navigation bar
  3. Give your Label a meaningful name (e.g. recaptcha_test)

  4. For the reCAPTCHA Type, select reCAPTCHA v2 > Invisible reCAPTCHA badge

  5. Under Domains, put the domain name that your Joget DX instance is hosted on.

    Setting a domain name

    If you are using Joget DX on a local computer for development purposes, you can put "localhost" as your domain name.

  6. Tick Accept the reCAPTCHA Terms of Service
  7. Click Submit

Copy the generated reCAPTCHA site keys and reCAPTCHA secret keys, and paste them into their respective fields in the Edit Invisible reCAPTCHA configuration.

Remember to click Apply Change and save the form.

Important reCAPTCHA keys

  • Site keys can actually be shown publicly, but it is censored in this example.
  • Secret keys must never be shown or shared with anyone, because the server uses it to verify reCAPTCHA responses upon form submission.

Testing out the plugin

Try submitting the form where you added the Invisible reCAPTCHA plugin.

If the bottom right corner of your form shows the protected by reCAPTCHA, it means that the Invisible reCAPTCHA plugin is working as intended.

You can seek help from Errors of the plugin if the Invisible reCAPTCHA plugin is not working as intended.

Errors of the plugin

There are two types of error that may occur when using the Invisible reCAPTCHA plugin:

  • reCAPTCHA widget error
  • Plugin validation error

What is a reCAPTCHA widget error?

reCAPTCHA widget error occurs when you may have chosen the v2 tickbox option instead of the v2 invisible option.

Remember to choose the v2 invisible option, so that the reCAPTCHA site key is enabled for the Invisible reCAPTCHA.

This is how a reCAPTCHA widget error looks like.

Because of this error, the "Form Submitted" message is not shown on the top left corner of the Form.

What is a Plugin validation error?

We will explain how Plugin validation error can occur by demonstrating how an error as such can be replicated.

To replicate Plugin validation error is very simple, you only have to provide an invalid reCAPTCHA secret key.

You can change a letter to a different letter or simply make up a reCAPTCHA secret key that does not exist.

For now, let's see what will happen if we do not add a Custom error text and we disable the Debug mode.

Following the configurations demonstrated, the Plugin validation error has been replicated:

  • "Validation Error" is printed out to show app designers that the validation has failed
  • "reCAPTCHA error" is a default error text printed out if no Custom error text is added
  • protected by reCAPTCHA widget does not show an red error message like what happened in What is a reCAPTCHA widget error?

In this case, Debug mode is disabled, so you will see the default error text.

But note that if Debug mode is enabled, you will see neither default error text or Custom error text (if you have added it).

More on Debug mode in Custom error text & Debug mode.

Edit Invisible reCAPTCHA: Other configuration properties

  • An important note to take down is that the default error text does not explain much to app designers on what "reCAPTCHA error" actually means.
  • A meaningful error text or message is strongly encouraged in order to give app designers a rough idea of what the error is and how to start fixing it.
  • This is why we have two other configuration properties called the Custom error text and Debug mode to help prevent app designers from facing problem like this.

You can refer to Custom error text & Debug mode sections for more information.

Tip: Hover on the tooltips (? icon) in Edit Invisible reCAPTCHA configuration to read what each configuration properties mean.

Custom error text & Debug mode

  • Custom error text is designed to be printed out to end-users only when there is a Plugin validation error.
  • Debug mode helps app designers indicate the problem or error in different formats (depending if enabled or disabled).


image to be inserted here later..


image to be inserted here later..

Availability of the plugin incomplete

Form TypeReason










  • No labels