Hi,
In its current state I would very much advise NOT to implement this component as is done in the demo.
This component could be part of a good Captcha solution, but the way it is used in the demo is not secure at all.
The issue with the implementation is that the problem (the generated image) AND the solution (the code) are sent to the client as a response from the "GenerateCaptcha" Data Action.
The whole point of a captcha is to make sure that no automated script can bypass the captcha. In this case however, such an automated script only has to look at the response from the "GenerateCaptcha" Data Action and it gets the solution to the problem handed on a silver platter. It's like sending the username AND password to the client.
How I believe it could work is by doing the following:
This way we are not exposing the captcha code to the client and the implementation is secure.
Best regards,
Steven
A good alternative is this Component:
https://www.outsystems.com/forge/component-overview/8952/google-recaptcha-react
Hello, to follow up to your answer, the method you proceeded is a good solution, however it will be better if we generate a random password token and provide it better than exposing each captcha ID, Also we should add an expiration date for each captcha and set a timer to delete the expired data values.