Testare il login passwordless senza il caos della casella di posta
Il login passwordless sembra facile in una demo. Un utente inserisce un'email, riceve un magic link e accede.
In staging, questo flusso si interrompe. I link finiscono in caselle di posta condivise o vecchi alias email. Il testing diventa un caos.
Devi trattare l'autenticazione passwordless come un unico sistema. Devi testare il client JavaScript, il backend Node.js, l'invio dell'email e la sessione finale.
Se salti la casella di posta, i tuoi test API potrebbero passare mentre l'esperienza utente fallisce.
I fallimenti comuni includono:
- Il backend invia due link dopo un tentativo di riprova.
- L'email punta all'host dell'ambiente sbagliato.
- Un vecchio link funziona più a lungo del dovuto.
- Il frontend segna l'utente come loggato prima che il cookie venga impostato.
Usa una casella di posta isolata per ogni esecuzione di test. Questo mantiene i dati puliti e il debugging veloce. Se tre test utilizzano la stessa casella di posta, non riuscirai a trovare l'errore.
Segui questo workflow:
- Attiva il login dalla tua UI o tramite un test end-to-end.
- Lascia che Node.js invii il link attraverso il tuo percorso di staging.
- Cattura il messaggio in una casella di posta nuova e isolata.
- Apri il link più recente nella stessa sessione del browser.
- Verifica lo stato di autenticazione.
Un buon test fa molto più che controllare se un'email è arrivata. Controlla questi passaggi in ordine:
- La richiesta di login restituisce una risposta di successo neutra.
- Esiste esattamente un magic link nuovo.
- L'host del link corrisponde al tuo dominio di staging.
- Il token avvia una sessione valida.
- Il riutilizzo dello stesso link fallisce.
- L'app aggiorna la UI senza un refresh manuale.
Sul backend, allega un correlation ID ai tuoi log. Questo ti aiuta a tracciare una richiesta dalla creazione alla sessione finale.
Non sostituire tutti i tuoi test con test basati sull'email. Usa test unitari veloci per la logica e usa questo flusso tramite casella di posta per la tua suite di staging.
Usa questa checklist prima di rilasciare:
- Una richiesta di login crea un solo link attivo.
- L'email più recente è facile da analizzare in staging.
- Il link effettua l'accesso dell'utente sull'host corretto.
- Il link non può essere usato due volte.
- Il logout e il successivo login producono un nuovo token pulito.
