enhancement: support for captcha
Please describe your feature. A captcha system for core forms. Where captcha will be run after form loads. Submit Action button will be disabled until positive value is received from captcha.
People should be able to use a key in formJson for CoreForm, like: captcha: true/false.
Describe the solution you'd like A generic function can be created that takes api_url, sitekey and secretKey.
These values will be read from wrappid.conf.json of app and service project.
- in wrappid-app,
api_urlandsitekeywill be read. sample wrappid.conf.json
"captcha": {
"enabled": true,
"platforms": [
{
"name": "",
"details": "",
"default": true,
"script_url": "",
"siteKey": ""
}
{
"name": "",
"details": "",
"enabled": true,
"script_url": "",
"siteKey": ""
}
]
}
- in wrappid-service project,
api_urlandsecretkeywill be read. sample wrappid.conf.json
"captcha": {
"enabled": true,
"platforms": [
{
"name": "",
"details": "",
"default": true,
"api_url": "",
"secretkey": ""
},
{
"name": "",
"details": "",
"enabled": true,
"api_url": "",
"secretkey": ""
}
]
},
Few popular service APIs that are used commonly:
- Cloudflare Turnstile - Free(with limitations) - OpenSource MIT. Allows only managed mode for free, unlimited volume
- hCaptcha - Free(with limitations) - Free - proprietary. Free up to one million requests per month
- reCaptcha - Free - proprietary.
@anantakumarghosh please update in-terms of the MIT license violation for using third party API.
@anantakumarghosh please update in-terms of the MIT license violation for using third party API.
Above mentioned are commonly used CAPTCHA APIs as per normal search, not detailed.
proprietary: It is recommended to not use proprietary licensed code, functions, APIs(this case) etc with MIT to avoid complexities.
If really needed, please go through the licence of the required to understand what they allow.
opensource: It is recommended to avoid GPL licensed code, functions, APIs(this case), as they require projects created using GPL code and projects using other GPL code to be GPL.
You can use the MIT code with MIT, and more.
I have a generative ai prompt response. You may go through it, but don't take it as a concrete answer. https://g.co/gemini/share/8e55395b5787
Detailed research contributions are welcomed ♥️.