ייבוא משתמשים ללא איפוס סיסמאות
מדריכי הגירת זהויות תמיד אומרים את אותו הדבר. הם אומרים שמשתמשים חייבים לאפס את הסיסמאות שלהם. זו לא חובה. זו בחירה. רוב הכלים בוחרים בדרך הקלה במקום בדרך הנכונה.
ניתן לבצע הגירת משתמשים ללא איפוס. כל מה שצריך זה לאמת את ערכי ה-hash הקיימים של הסיסמאות. אם יש לכם את ה-hashes הישנים והמערכת החדשה שלכם יכולה לקרוא אותם, המעבר יישאר שקוף.
ערך hash של סיסמה אינו סוד. Bcrypt הוא bcrypt. הוא נושא איתו את ה-salt וה-cost factor משלו. כל מערכת המשתמשת ב-bcrypt יכולה לאמת אותו. PBKDF2 עובד באותו אופן. אם יש לכם את ה-hash, תוכלו לבדוק סיסמה מולו מבלי לדעת מהי הסיסמה בפועל.
השתמשו ב-lazy migration כדי לחסוך זמן.
- העבירו את ה-hash הישן למערכת החדשה.
- אשרו את ה-hash כאשר המשתמש מתחבר.
- החליפו אותו בפורמט חדש באופן מיידי.
תוך מספר שבועות, מסד הנתונים שלכם מתעדכן מעצמו. תקבלו אפס אימיילים לאיפוס סיסמאות ואפס פניות לתמיכה.
מקורות שונים מספקים פורמטים שונים.
Duende או ASP.NET Identity המאוחסנים עצמית: אלו משתמשים ב-V3 PBKDF2 או ב-bcrypt. המערכת החדשה יכולה לאמת ולבצע rehash לערכים אלו בקלות. זהו תהליך נקי.
Auth0: אלו משתמשים ב-bcrypt. ניתן לייבא אותם ישירות. עם זאת, לא ניתן לקבל אותם דרך API סטנדרטי. מטעמי אבטחה, Auth0 אינה מחזירה hashes דרך ה-API. עליכם לבקש קובץ bulk export מהתמיכה שלהם. קובץ זה מכיל את ערכי ה-bcrypt hash. השתמשו בקובץ זה כדי לשמור על הגירה שקופה.
אם אינכם יכולים לקבל את ה-hashes, המשתמשים חייבים להגדיר סיסמה חדשה. זוהי חלופה כנה. אל תתנו לכלי כלשהו לכפות עליכם איפוס אם ניתן להימנע מכך.
איפוסים כפויים גורמים לבעיות:
- הם יוצרים עומס גבוה על התמיכה.
- הם מרגילים משתמשים לבטוח באימיילים של phishing.
- הם הופכים שינוי שקט לבעיה רועשת.
הגירה טובה צריכה להרגיש כאילו דבר לא קרה. בדקו אם ניתן לקבל את ה-hashes הישנים לפני שאתם אומרים למשתמשים שלכם לאפס את הסיסמאות שלהם.
מקור: https://dev.to/authagonal/importing-users-without-a-password-reset-5h1j
