This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update CAPTCHA documentation to mention turning off verify origin fea…
…ture (#10046) * Update CAPTCHA documentation to mention turning off verify origin Signed-off-by: Aaron Raimist <[email protected]>
- Loading branch information
1 parent
557635f
commit 3e1beb7
Showing
2 changed files
with
29 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Update CAPTCHA documentation to mention turning off the verify origin feature. Contributed by @aaronraimist. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,37 @@ | ||
# Overview | ||
Captcha can be enabled for this home server. This file explains how to do that. | ||
The captcha mechanism used is Google's ReCaptcha. This requires API keys from Google. | ||
|
||
## Getting keys | ||
|
||
Requires a site/secret key pair from: | ||
|
||
<https://developers.google.com/recaptcha/> | ||
|
||
Must be a reCAPTCHA v2 key using the "I'm not a robot" Checkbox option | ||
|
||
## Setting ReCaptcha Keys | ||
|
||
The keys are a config option on the home server config. If they are not | ||
visible, you can generate them via `--generate-config`. Set the following value: | ||
|
||
A captcha can be enabled on your homeserver to help prevent bots from registering | ||
accounts. Synapse currently uses Google's reCAPTCHA service which requires API keys | ||
from Google. | ||
|
||
## Getting API keys | ||
|
||
1. Create a new site at <https://www.google.com/recaptcha/admin/create> | ||
1. Set the label to anything you want | ||
1. Set the type to reCAPTCHA v2 using the "I'm not a robot" Checkbox option. | ||
This is the only type of captcha that works with Synapse. | ||
1. Add the public hostname for your server, as set in `public_baseurl` | ||
in `homeserver.yaml`, to the list of authorized domains. If you have not set | ||
`public_baseurl`, use `server_name`. | ||
1. Agree to the terms of service and submit. | ||
1. Copy your site key and secret key and add them to your `homeserver.yaml` | ||
configuration file | ||
``` | ||
recaptcha_public_key: YOUR_SITE_KEY | ||
recaptcha_private_key: YOUR_SECRET_KEY | ||
|
||
In addition, you MUST enable captchas via: | ||
|
||
``` | ||
1. Enable the CAPTCHA for new registrations | ||
``` | ||
enable_registration_captcha: true | ||
``` | ||
1. Go to the settings page for the CAPTCHA you just created | ||
1. Uncheck the "Verify the origin of reCAPTCHA solutions" checkbox so that the | ||
captcha can be displayed in any client. If you do not disable this option then you | ||
must specify the domains of every client that is allowed to display the CAPTCHA. | ||
## Configuring IP used for auth | ||
The ReCaptcha API requires that the IP address of the user who solved the | ||
captcha is sent. If the client is connecting through a proxy or load balancer, | ||
The reCAPTCHA API requires that the IP address of the user who solved the | ||
CAPTCHA is sent. If the client is connecting through a proxy or load balancer, | ||
it may be required to use the `X-Forwarded-For` (XFF) header instead of the origin | ||
IP address. This can be configured using the `x_forwarded` directive in the | ||
listeners section of the homeserver.yaml configuration file. | ||
listeners section of the `homeserver.yaml` configuration file. |