Inspreekrecht aanmelden activeren

Een inwoner heeft geen account nodig. De API accepteert buiten Development alleen openbare aanmeldingen als Cloudflare Turnstile met een site key én secret key is geconfigureerd. Ontbrekende sleutels blijven een blokkerende fout; de beveiliging wordt niet overgeslagen.

Ansible

Stel vault_captcha_site_key en vault_captcha_secret_key in het versleutelde Ansible-vaultbestand in. De variabelen captcha_site_key en captcha_secret_key in de inventory kunnen deze waarden overschrijven. De deploy-template schrijft ze naar CAPTCHA_SITE_KEY en CAPTCHA_SECRET_KEY in het gegenereerde .env-bestand. Compose geeft ze uitsluitend aan de RIS API door.

Gebruik echte Turnstile-sleutels voor de frontend-hostnaam. Zet geen secret key in Vite-variabelen, broncode of browserconfiguratie. Test keys zijn niet geschikt voor een publieke installatie. Deploy opnieuw en laat Compose de API-container opnieuw aanmaken wanneer de omgeving is gewijzigd.

Controle na deployment

GET /api/speaking-slots/config hoort captchaRequired: true en submissionEnabled: true te geven, met alleen de publieke site key. Controleer anoniem een toekomstige openbare vergadering: vul het formulier in, voltooi de controle en meld aan via de rechterknop onderaan. De sluitknop staat daarnaast. Een ontbrekend of ongeldig captcha-token moet door de API geweigerd blijven.

Na een tijdelijke fout bij het ophalen van de instellingen kan de inwoner Opnieuw proberen gebruiken zonder de ingevoerde gegevens kwijt te raken. Ontbreken de deployment-sleutels nog, dan blijft aanmelden geblokkeerd en wordt verwezen naar de griffie. Een code-deployment alleen kan geen echte sleutels aanmaken.