Import von Benutzern ohne Passwort-Resets
Leitfäden zur Identitätsmigration sagen immer dasselbe. Sie besagen, dass Benutzer ihre Passwörter zurücksetzen müssen. Das ist keine Regel. Es ist eine Entscheidung. Die meisten Tools wählen den einfachen Weg statt des richtigen.
Sie können Benutzer ohne Zurücksetzung migrieren. Sie müssen lediglich die vorhandenen Passwort-Hashes verifizieren. Wenn Sie die alten Hashes besitzen und Ihr neues System diese lesen kann, bleibt der Wechsel unsichtbar.
Ein Passwort-Hash ist kein Geheimnis. Bcrypt ist bcrypt. Er enthält seinen eigenen Salt und Cost-Faktor. Jedes System, das bcrypt verwendet, kann ihn verifizieren. PBKDF2 funktioniert auf die gleiche Weise. Wenn Sie den Hash haben, können Sie ein Passwort dagegen prüfen, ohne das eigentliche Passwort zu kennen.
Nutzen Sie Lazy Migration, um Zeit zu sparen.
- Übertragen Sie den alten Hash in das neue System.
- Verifizieren Sie den Hash, wenn sich der Benutzer anmeldet.
- Ersetzen Sie ihn sofort durch ein neues Format.
Über einige Wochen hinweg aktualisiert sich Ihre Datenbank von selbst. Sie erhalten null Passwort-Reset-E-Mails und null Support-Tickets.
Verschiedene Quellen liefern unterschiedliche Formate.
Selbst gehostetes Duende oder ASP.NET Identity: Diese verwenden V3 PBKDF2 oder bcrypt. Das neue System kann diese problemlos verifizieren und neu hashen. Dies ist ein sauberer Prozess.
Auth0: Diese verwenden bcrypt. Sie können sie direkt importieren. Sie können sie jedoch nicht über eine Standard-API abrufen. Auth0 gibt Hashes aus Sicherheitsgründen nicht über die API zurück. Sie müssen eine Bulk-Export-Datei beim Support anfordern. Diese Datei enthält die bcrypt-Hashes. Nutzen Sie diese Datei, um die Migration unsichtbar zu halten.
Wenn Sie die Hashes nicht erhalten können, müssen die Benutzer ein neues Passwort festlegen. Das ist ein ehrlicher Fallback. Lassen Sie sich von einem Tool keinen Reset aufzwingen, wenn Sie es vermeiden können.
Erzwungene Resets verursachen Probleme:
- Sie führen zu einem hohen Support-Aufkommen.
- Sie trainieren Benutzer darauf, Phishing-E-Mails zu vertrauen.
- Sie verwandeln eine unauffällige Änderung in ein lautes Problem.
Eine gute Migration sollte sich so anfühlen, als wäre nichts passiert. Fragen Sie nach, ob Sie die alten Hashes erhalten können, bevor Sie Ihre Benutzer auffordern, ihre Passwörter zurückzusetzen.
Quelle: https://dev.to/authagonal/importing-users-without-a-password-reset-5h1j
