Ga naar inhoud

Wachtwoord vergeten

Doel & URL('s)

Wachtwoord-herstelflow voor alle gebruikers. Er bestaat geen eigen pagina /wachtwoord-vergeten/; de site gebruikt de standaard WordPress-flow op het core-loginscherm (Bedrock-pad met /wp/-prefix):

  • Aanvraag: /wp/wp-login.php?action=lostpassword
  • Reset (via maillink): /wp/wp-login.php?action=rp&key=…&login=…

Instap: de link "Wachtwoord vergeten" op /inloggen/, en de "wachtwoord vergeten"-link in de foutmelding bij een fout wachtwoord.

Opbouw

  1. Aanvraagscherm (action=lostpassword): WordPress-loginscherm met het GB-logo (het WP-logo is vervangen door logo-gb.svg, 320×80), één veld "Gebruikersnaam of e-mail" en een knop om een nieuw wachtwoord aan te vragen. Titel: "Wachtwoord kwijt".
  2. E-mail met resetlink (standaard WordPress-resetmail; de mailtekst is niet aangepast door het thema).
  3. Resetscherm (action=rp/resetpass): veld voor een nieuw wachtwoord. Het door WordPress voorgestelde wachtwoord is leeggemaakt — de gebruiker moet zelf een wachtwoord intypen (filter random_password).
  4. Na een geslaagde reset kan de gebruiker inloggen via /inloggen/ of wp-login.php.

Databronnen

Bron Detail
WordPress core wp-login.php lostpassword/rp/resetpass-acties
Thema app/filters.php login_enqueue_scripts (GB-logo-styling), random_password (leeg voorstel op resetscherm), verwijderde wp_password_change_notification

Gedrag & rollen

  • Beschikbaar voor iedereen (anoniem); geldt voor alle rollen.
  • Na een wachtwoordreset ontvangt de beheerder géén notificatiemail (de standaard wp_password_change_notification is uitgeschakeld).
  • Een wachtwoordwijziging via deze flow maakt alle app-tokens en beschermde PDF-links van de gebruiker ongeldig (de signing key bevat de wachtwoord-hash; zie App-authenticatie).

Acceptatiecriteria

  • Als anoniem op /inloggen/ "Wachtwoord vergeten" klik, dan kom ik op het lostpassword-scherm met het GB-logo en één veld "Gebruikersnaam of e-mail".
  • Als anoniem op het lostpassword-scherm een bestaand e-mailadres invul en verstuur, dan verschijnt de bevestiging dat een e-mail is verzonden en ontvangt het adres een resetmail met werkende resetlink.
  • Als gebruiker de resetlink open, dan toont het resetscherm een leeg wachtwoordveld (geen voorgesteld wachtwoord) en moet ik zelf een wachtwoord invoeren.
  • Als gebruiker na de reset met het nieuwe wachtwoord op /inloggen/ inlog, dan slaagt de login; het oude wachtwoord werkt niet meer.
  • Als gebruiker mijn wachtwoord via deze flow reset, dan zijn eerder uitgegeven app-access- en refresh-tokens ongeldig (gb-app/v1/me met oud token → 401).

Note

De exacte teksten van de WordPress-resetmail zijn niet geïnventariseerd (standaard WordPress, nl_NL). Voor het testrapport volstaat: mail komt aan, link werkt.

Bekende afwijkingen

Niet nabouwen in Next.js, wel vermelden in het testrapport

  • De flow verlaat de site-huisstijl: het lostpassword- en resetscherm zijn kale WordPress-schermen (alleen het logo is aangepast) op het /wp/wp-login.php-pad. In de rebuild hoort dit een eigen frontend-flow te worden; het /wp/-pad niet als publieke URL overnemen.