Add optional hCaptcha support

Fixes #1649

This requires setting `HCAPTCHA_SECRET_KEY` and `HCAPTCHA_SITE_KEY`, then
enabling the admin setting at
`/admin/settings/edit#form_admin_settings_captcha_enabled`

Subsequently, a hCaptcha widget will be displayed on `/about` and
`/auth/sign_up` unless:
- the user is already signed-up already
- the user has used an invite link
- the user has already solved the captcha (and registration failed for another
  reason)

The Content-Security-Policy headers are altered automatically to allow the
third-party hCaptcha scripts on `/about` and `/auth/sign_up` following the same
rules as above.
This commit is contained in:
Claire
2022-01-24 19:06:19 +01:00
parent e58e0eb9aa
commit 1b493c9fee
15 changed files with 121 additions and 2 deletions

View File

@ -1058,3 +1058,7 @@ code {
display: none;
}
}
.simple_form .h-captcha {
text-align: center;
}