Test OAuth-herstelmails zonder echte inboxen
Het op een gemakkelijke manier testen van OAuth-herstelmails brengt beveiligingsrisico's met zich mee. Veel teams sturen wachtwoordresetlinks naar één gedeelde mailbox. Ze controleren of er een e-mail aankomt en gaan dan verder. Deze methode is zwak. Het verbergt tokenhergebruik, levering aan de verkeerde gebruiker en gevoelige loggegevens.
Gebruik voor elke testrun een wegwerp-e-mailadres. Isoleer de gebeurtenis, inspecteer deze en verwijder de gegevens. Dit voorkomt dat gemengde testgegevens het moeilijk maken om je resultaten te bewijzen.
Een goed dreigingsmodel moet de volgende vragen stellen:
- Is het bericht aangekomen in de beoogde inbox voor deze specifieke run?
- Verloopt de link of code op het juiste moment?
- Onthult de onderwerpregel te veel gebruikersgegevens?
- Kan een oud token nog werken na een nieuw verzoek?
- Bewaren logs herstelgeheimen langer dan nodig?
Het beste patroon is één inbox per testuitvoering. Hierdoor blijft elke link en tijdstempel gekoppeld aan een enkele run.
Volg deze workflow:
- Maak een nieuwe user fixture of sandbox-identiteit aan.
- Leid de herstelmail naar een inbox die specifiek voor de run is aangemaakt.
- Activeer de OAuth- of wachtwoordherstelactie één keer.
- Controleer of er exact één overeenkomstige e-mail aankomt.
- Open de link of code om de vervaldatum en het gedrag bij eenmalig gebruik te valideren.
- Vernietig de inbox en de fixture-gegevens onmiddellijk.
Als je proces vereist dat je oude e-mails van gisteren controleert, dan is je proces gebrekkig. Bewijs van herstel mag nooit afhankelijk zijn van verouderde gegevens.
Controleer deze punten voordat je live gaat:
- Het alias van de ontvanger komt overeen met de testidentiteit.
- Er bestaat slechts één geldig herstelbericht voor de gebeurtenis.
- Het onderwerp en de preview onthullen geen gevoelige gegevens.
- De herstel-URL verwijst naar de juiste omgeving.
- Het token wordt ongeldig na gebruik of het verstrijken van de tijd.
- Het gedrag bij een herpoging laat geen meerdere actieve, geldige tokens achter.
Vermijd deze veelvoorkomende fouten:
- Het hergebruiken van één inbox voor meerdere testgebruikers.
- Het opslaan van herstel-URL's in logs met een lange bewaartermijn.
- Het opnemen van volledige e-mailadressen in de onderwerpen van herstelmails.
- Vergeten oudere links ongeldig te maken na een tweede verzoek.
Staging-gegevens zijn belangrijk. Ze bevatten vaak realistische namen en configuraties. Gebruik veilige standaardinstellingen: een korte bewaartermijn, eenmalige geheimen en expliciete opschoning.
Bron: https://dev.to/sophiax99/how-to-test-oauth-recovery-emails-without-exposing-real-inboxes-hni
