Ga naar inhoud

Wachtwoord wijzigen

Doel & URL('s)

Pagina waar een ingelogde gebruiker zijn wachtwoord wijzigt.

  • URL: /wachtwoord-wijzigen/ (pagina "Wachtwoord wijzigen", template template-account)

Opbouw

Zelfde template als Mijn account (layout sidebar-left, accountnavigatie in de sidebar).

Ingelogd:

  1. Eventuele contentblokken van de pagina.
  2. Gravity Forms-formulier 25 "Wachtwoord wijzigen" (knop "Versturen"): één passwordveld met bevestiging — "Wachtwoord invoeren" / "Wachtwoord bevestigen".

Uitgelogd: HTTP 200 met de melding "U moet ingelogd zijn om deze pagina te kunnen bekijken..".

Bevestiging na opslaan: "Uw wachtwoord is succesvol gewijzigd. Klik hier om in te loggen met uw nieuwe wachtwoord." (met link naar de loginpagina).

Databronnen

Bron Detail
Pagina page #7459, ACF content_form = 25, template views/template-account.blade.php
Formulier GF 25 + UR-feed #9 (type update, wijzigt alléén het wachtwoord; rol/displayname behouden)
Notificatie beheerdersmelding "Nieuwe inzending van {form_title}" naar het admin-e-mailadres

Gedrag & rollen

  • Anoniem: melding "U moet ingelogd zijn…" (HTTP 200).
  • Elke ingelogde rol: dit is het enige accountnavigatie-item dat voor álle ingelogde gebruikers zichtbaar is (ook alléén-subscriber).
  • De twee wachtwoordvelden moeten overeenkomen (standaard GF-validatie).
  • Neveneffecten van een wachtwoordwijziging (geldt ook voor de wachtwoord-vergeten-flow):
  • alle app-access-tokens en refresh-tokens worden ongeldig (signing key bevat de wachtwoord-hash — zie App-authenticatie);
  • eerder uitgegeven beschermde PDF-links vervallen;
  • andere browsersessies van de gebruiker vervallen (standaard WordPress-sessie-invalidatie).

Acceptatiecriteria

  • Als anoniem op /wachtwoord-wijzigen/ de pagina laad, dan krijg ik HTTP 200 met de melding "U moet ingelogd zijn om deze pagina te kunnen bekijken.." en geen formulier.
  • Als ingelogde gebruiker (elke rol) op /wachtwoord-wijzigen/ de pagina laad, dan zie ik formulier 25 met twee wachtwoordvelden ("Wachtwoord invoeren" / "Wachtwoord bevestigen").
  • Als subscriber (zonder WV-abonnement) ingelogd ben, dan toont de accountdropdown de items "Wachtwoord wijzigen" en "Uitloggen".
  • Als ingelogde gebruiker twee niet-overeenkomende wachtwoorden invoer, dan blijft het formulier staan met een validatiefout en blijft het oude wachtwoord geldig.
  • Als ingelogde gebruiker een nieuw wachtwoord opsla, dan verschijnt "Uw wachtwoord is succesvol gewijzigd. Klik hier om in te loggen met uw nieuwe wachtwoord." met werkende link naar de loginpagina.
  • Als gebruiker na de wijziging opnieuw inlog, dan werkt alleen het nieuwe wachtwoord; het oude geeft een foutmelding.
  • Als gebruiker vóór de wijziging een app-tokenpaar had, dan geven gb-app/v1/me (met het oude access-token) en gb-app/v1/refresh (met het oude refresh-token) na de wijziging 401.
  • Als gebruiker mijn rol bekijk na de wijziging, dan is die ongewijzigd (wv-subscriber blijft toegang houden tot /uitgaven/).

Bekende afwijkingen

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

  • Elke wachtwoordwijziging stuurt een beheerdersmelding ("Nieuwe inzending van Wachtwoord wijzigen") naar het admin-adres. Functioneel nut is twijfelachtig en het meldt gedrag over individuele gebruikers; heroverwegen in de rebuild.
  • De uitgelogd-melding heeft dezelfde "bekijken.."-typo als /account/.