> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# reCAPTCHA

> Jak chránit přihlášení, registraci a obnovení hesla pomocí Google reCAPTCHA?

> [!NOTE]
>
> Tuto funkci vyvinul projekt [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro) a je k dispozici od verze v6.4.0.

Přihlášení pomocí e-mailu a hesla, přihlášení přes LDAP, registrace a obnovení hesla mohou vyžadovat Google reCAPTCHA v2 (neviditelnou). Ve výchozím nastavení je vypnutá. Většina uživatelů nic neuvidí: kontrola proběhne po stisknutí tlačítka a Google zobrazí obrázkovou výzvu pouze tehdy, když považuje požadavek za podezřelý. Přihlášení přes SAML a OIDC ani účty vytvořené administrátorem se to netýká.

1. V [administrátorské konzoli reCAPTCHA](https://www.google.com/recaptcha/admin) vytvořte klíč typu **reCAPTCHA v2**, **Invisible reCAPTCHA badge** a přidejte doménu své instance. Doména zahrnuje i své subdomény, např. `example.com` zahrnuje `latex.example.com`.
2. Nastavte oba klíče v `config/variables.env` a spusťte `bin/up`:

```text theme={null}
RECAPTCHA_SITE_KEY=<site key>
RECAPTCHA_SECRET_KEY=<secret key>
```

| Proměnná | Výchozí | Účel |
| - | - | - |
| `RECAPTCHA_SITE_KEY` | Nenastaveno | Zapne captchu pro přihlášení, přihlášení přes LDAP, registraci a obnovení hesla. |
| `RECAPTCHA_SECRET_KEY` | Nenastaveno | Tajný klíč téhož klíče reCAPTCHA, kterým server ověřuje odpovědi. |
| `RECAPTCHA_ENDPOINT` | `https://www.google.com/recaptcha/api/siteverify` | Kde server ověřuje odpovědi. Pokud není `www.google.com` dostupné, použijte `https://www.recaptcha.net/recaptcha/api/siteverify`. |
| `CAPTCHA_TRUSTED_USERS` | Nenastaveno | Čárkami oddělené e-maily, které server pustí bez kontroly captchy. |
| `CAPTCHA_TRUSTED_USERS_REGEX` | Nenastaveno | Regulární výraz pro takové e-maily; musí odpovídat celému e-mailu. |
| `DEVICE_HISTORY_SECRET` | Nenastaveno | 64 hexadecimálních znaků, např. z `openssl rand -hex 32`. Umožní prohlížeči, který se přihlásil pomocí e-mailu, přeskočit captchu pro tento e-mail po dobu 90 dní. Pokud není nastaveno, captcha se zobrazí při každém přihlášení. |

* Stránky načítají skript reCAPTCHA z `www.recaptcha.net`, což funguje i tam, kde je `www.google.com` blokováno.
* Registrace a obnovení hesla se ptají pokaždé. Přihlášení přes LDAP se také ptá pokaždé, i s `DEVICE_HISTORY_SECRET`: odesílá uživatelské jméno, nikoli e-mail.
* Přihlášení zůstávají také omezena četností: 20 pokusů za minutu z jedné IP adresy a 10 pokusů za 2 minuty pro jeden e-mail.
* Ayakaleaf Pro kontroluje pouze to, zda Google odpověď přijme. Skóre a prahové hodnoty reCAPTCHA v3 nejsou podporovány a o tom, kdy zobrazit výzvu, rozhoduje Google.
* Chcete-li ji vyzkoušet dříve, než budete mít klíč, použijte [testovací klíče](https://developers.google.com/recaptcha/docs/faq) od Googlu: každá kontrola projde a widget zobrazí varování, proto je nepoužívejte v produkci.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.