Importare gli utenti senza reset delle password
Le guide alla migrazione dell'identità dicono sempre la stessa cosa. Dicono che gli utenti devono resettare le proprie password. Questa non è una regola. È una scelta. La maggior parte degli strumenti sceglie la strada più facile invece di quella corretta.
È possibile migrare gli utenti senza un reset. È sufficiente verificare gli hash delle password esistenti. Se disponi dei vecchi hash e il tuo nuovo sistema è in grado di leggerli, il passaggio rimarrà invisibile.
Un hash della password non è un segreto. Bcrypt è bcrypt. Porta con sé il proprio salt e il proprio cost factor. Qualsiasi sistema che utilizzi bcrypt può verificarlo. PBKDF2 funziona allo stesso modo. Se hai l'hash, puoi verificare una password confrontandola con esso senza conoscere la password reale.
Usa la lazy migration per risparmiare tempo.
- Trasferisci il vecchio hash nel nuovo sistema.
- Verifica l'hash quando l'utente effettua l'accesso.
- Sostituiscilo immediatamente con un nuovo formato.
Nel giro di poche settimane, il tuo database si aggiornerà da solo. Avrai zero email di reset della password e zero ticket di assistenza.
Diverse fonti forniscono formati differenti.
Self-hosted Duende o ASP.NET Identity: Questi utilizzano V3 PBKDF2 o bcrypt. Il nuovo sistema può verificarli e fare il rehash facilmente. Si tratta di un processo pulito.
Auth0: Questi utilizzano bcrypt. Puoi importarli direttamente. Tuttavia, non è possibile ottenerli tramite una API standard. Auth0 non restituisce gli hash tramite API per motivi di sicurezza. Devi richiedere un file di esportazione massiva (bulk export) al loro supporto. Questo file contiene gli hash bcrypt. Usa questo file per mantenere la migrazione invisibile.
Se non riesci a ottenere gli hash, gli utenti dovranno impostare una nuova password. Questa è una soluzione di riserva onesta. Non lasciare che uno strumento ti imponga un reset se puoi evitarlo.
I reset forzati causano problemi:
- Creano un elevato carico di lavoro per l'assistenza.
- Abituano gli utenti a fidarsi delle email di phishing.
- Trasformano un cambiamento silenzioso in un problema rumoroso.
Una buona migrazione dovrebbe dare l'impressione che non sia successo nulla. Chiedi se è possibile ottenere i vecchi hash prima di dire ai tuoi utenti di resettare le password.
Fonte: https://dev.to/authagonal/importing-users-without-a-password-reset-5h1j
