پاس ورڈ ری سیٹ کیے بغیر صارفین کو امپورٹ کرنا
شناخت کی منتقلی (Identity migration) کے گائیڈز ہمیشہ ایک ہی بات کہتے ہیں۔ وہ کہتے ہیں کہ صارفین کو اپنے پاس ورڈ ری سیٹ کرنے ہوں گے۔ یہ کوئی اصول نہیں ہے۔ یہ ایک انتخاب ہے۔ زیادہ تر ٹولز صحیح راستے کے بجائے آسان راستہ چنتے ہیں۔
آپ ری سیٹ کے بغیر صارفین کو منتقل کر سکتے ہیں۔ آپ کو صرف موجودہ پاس ورڈ ہیشز (password hashes) کی تصدیق کرنے کی ضرورت ہے۔ اگر آپ کے پاس پرانے ہیشز موجود ہیں اور آپ کا نیا سسٹم انہیں پڑھ سکتا ہے، تو یہ منتقلی صارفین کے لیے بالکل محسوس نہیں ہوگی۔
پاس ورڈ ہیش کوئی راز نہیں ہے۔ Bcrypt، Bcrypt ہی ہے۔ اس میں اپنا سالٹ (salt) اور کاسٹ فیکٹر (cost factor) شامل ہوتا ہے۔ Bcrypt استعمال کرنے والا کوئی بھی سسٹم اس کی تصدیق کر سکتا ہے۔ PBKDF2 بھی اسی طرح کام کرتا ہے۔ اگر آپ کے پاس ہیش موجود ہے، تو آپ اصل پاس ورڈ جانے بغیر اس کے ذریعے پاس ورڈ چیک کر سکتے ہیں۔
وقت بچانے کے لیے 'لیزی مائیگریشن' (lazy migration) کا استعمال کریں۔
- پرانے ہیش کو نئے سسٹم میں منتقل کریں۔
- جب صارف لاگ ان کرے تو ہیش کی تصدیق کریں۔
- اسے فوری طور پر نئے فارمیٹ سے بدل دیں۔
چند ہفتوں کے دوران، آپ کا ڈیٹا بیس خود بخود اپ ڈیٹ ہو جائے گا۔ آپ کو پاس ورڈ ری سیٹ کے لیے کوئی ای میلز اور سپورٹ ٹکٹس موصول نہیں ہوں گے۔
مختلف ذرائع مختلف فارمیٹس فراہم کرتے ہیں۔
Self-hosted Duende یا ASP.NET Identity: یہ V3 PBKDF2 یا bcrypt استعمال کرتے ہیں۔ نیا سسٹم ان کی آسانی سے تصدیق اور ری ہیش (rehash) کر سکتا ہے۔ یہ ایک شفاف عمل ہے۔
Auth0: یہ bcrypt استعمال کرتے ہیں۔ آپ انہیں براہ راست امپورٹ کر سکتے ہیں۔ تاہم، آپ انہیں اسٹینڈرڈ API کے ذریعے حاصل نہیں کر سکتے۔ سیکیورٹی کی وجہ سے Auth0 API کے ذریعے ہیشز واپس نہیں کرتا۔ آپ کو ان کی سپورٹ سے ایک 'بلک ایکسپورٹ فائل' (bulk export file) کی درخواست کرنی ہوگی۔ اس فائل میں bcrypt ہیشز موجود ہوتے ہیں۔ منتقلی کو پوشیدہ رکھنے کے لیے اس فائل کا استعمال کریں۔
اگر آپ ہیشز حاصل نہیں کر سکتے، تو صارفین کو نیا پاس ورڈ سیٹ کرنا ہوگا۔ یہ ایک ایماندارانہ متبادل راستہ ہے۔ اگر آپ بچ سکتے ہیں تو کسی ٹول کو آپ پر ری سیٹ کے لیے مجبور نہ ہونے دیں۔
زبردستی کیے گئے ری سیٹس مسائل پیدا کرتے ہیں:
- یہ سپورٹ کے بوجھ میں اضافہ کرتے ہیں۔
- یہ صارفین کو فشنگ (phishing) ای میلز پر بھروسہ کرنے کی عادت ڈالتے ہیں۔
- یہ ایک خاموش تبدیلی کو ایک بڑے مسئلے میں بدل دیتے ہیں۔
ایک اچھی منتقلی ایسی ہونی چاہیے کہ محسوس ہی نہ ہو کہ کچھ ہوا ہے۔ اپنے صارفین کو پاس ورڈ ری سیٹ کرنے کا کہنے سے پہلے یہ معلوم کر لیں کہ کیا آپ پرانے ہیشز حاصل کر سکتے ہیں۔
Source: https://dev.to/authagonal/importing-users-without-a-password-reset-5h1j
