স্লেড.কম এর মাধ্যমে আমি এটি পেরিয়েছি। অ্যাকাউন্ট তৈরি এবং লগইনের জন্য একাধিক তৃতীয় পক্ষের অ্যাকাউন্টগুলিকে সমর্থন করার ক্ষেত্রে এখানে একাধিক সমস্যা রয়েছে। এর মধ্যে কয়েকটি হ'ল:
- আপনার কি স্থানীয় পাসওয়ার্ড এবং তৃতীয় পক্ষের লগইন উভয়কে সমর্থন করতে হবে?
স্লেড.কমের জন্য, আমি এতে যুক্ত হওয়া স্বল্প মূল্য এবং একটি পাসওয়ার্ড এন্ট্রি ফর্ম সুরক্ষার অতিরিক্ত ব্যয়ের কারণে স্থানীয় পাসওয়ার্ড ফেলে দেওয়ার সিদ্ধান্ত নিয়েছি। পাসওয়ার্ড ভাঙ্গার জন্য অনেকগুলি পরিচিত আক্রমণ রয়েছে এবং আপনি যদি পাসওয়ার্ডগুলি চালু করতে চলেছেন তবে অবশ্যই তা নিশ্চিত হওয়া উচিত যে সেগুলি ভাঙ্গা সহজ নয়। এগুলি ফাঁস হওয়া থেকে রোধ করতে আপনার এগুলি একমুখী হ্যাশ বা অনুরূপ কিছুতে সঞ্চয় করতে হবে।
- একাধিক তৃতীয় পক্ষের অ্যাকাউন্টগুলিকে সমর্থন করার ক্ষেত্রে আপনি কতটা নমনীয়তার অনুমতি দিতে চান?
মনে হচ্ছে আপনি ইতিমধ্যে তিনটি লগইন সরবরাহকারী: ফেসবুক, টুইটার এবং লিংকডইন বেছে নিয়েছেন। এটি দুর্দান্ত কারণ এটির অর্থ হল আপনি OAuth ব্যবহার করছেন এবং বিশ্বস্ত সরবরাহকারীদের একটি সু-সংজ্ঞায়িত সেট নিয়ে কাজ করছেন। আমি ওপেনআইডি-র কোনও অনুরাগী নই। বাকি প্রশ্নটি যদি আপনাকে একই সরবরাহকারীর একাধিক তৃতীয় পক্ষের অ্যাকাউন্টগুলি সমর্থন করার দরকার হয় (যেমন দুটি স্থানীয় অ্যাকাউন্টের সাথে সংযুক্ত একটি স্থানীয় অ্যাকাউন্ট)। আমি না ধরে নিচ্ছি, তবে আপনি যদি তা করেন তবে আপনার এটি আপনার ডেটা মডেলটিতে সামঞ্জস্য করতে হবে।
স্লেডের জন্য, আমরা ফেসবুক, টুইটার এবং ইয়াহুতে লগইন সমর্থন করি! এবং প্রতিটি ব্যবহারকারীর অ্যাকাউন্টের মধ্যে প্রত্যেকটির জন্য একটি কী সঞ্চয় করে: {"_id": "djdjd99dj", "yahoo": "dj39djdj", টুইটার: "3723828732", "ফেসবুক": "12837287"}} প্রতিটি তৃতীয় পক্ষের অ্যাকাউন্টটি কেবলমাত্র একটি স্থানীয় অ্যাকাউন্টের সাথে লিঙ্ক করা যায় তা নিশ্চিত করতে আমরা একগুচ্ছ বাধা সেটআপ করি।
আপনি যদি একই তৃতীয় পক্ষের সরবরাহকারীর একাধিক অ্যাকাউন্টকে মঞ্জুরি দিতে যাচ্ছেন তবে আপনাকে সমর্থন করতে তালিকাগুলি বা অন্যান্য কাঠামো ব্যবহার করতে হবে এবং তার সাথে স্বতন্ত্রতা নিশ্চিত করার জন্য অন্যান্য সমস্ত বিধিনিষেধ ব্যবহার করতে হবে।
- একাধিক অ্যাকাউন্ট লিঙ্ক কিভাবে?
ব্যবহারকারী যখন প্রথমবার আপনার পরিষেবার জন্য সাইন-আপ করেন, তারা প্রথমে তৃতীয় পক্ষের সরবরাহকারীর কাছে যান এবং যাচাই করা তৃতীয় পক্ষের আইডি দিয়ে ফিরে আসেন। তারপরে আপনি তাদের জন্য একটি স্থানীয় অ্যাকাউন্ট তৈরি করুন এবং আপনি যা চান অন্যান্য তথ্য সংগ্রহ করুন। আমরা তাদের ইমেল ঠিকানা সংগ্রহ করি এবং তাদের স্থানীয় ব্যবহারকারীর নাম বাছাই করতে বলি (আমরা অন্য সরবরাহকারীর কাছ থেকে তাদের বিদ্যমান ব্যবহারকারীর নামটি দিয়ে ফর্মটি প্রাক-জনপ্রিয় করার চেষ্টা করি)। স্থানীয় শনাক্তকারীর কিছু ফর্ম (ইমেল, ব্যবহারকারীর নাম) পরে অ্যাকাউন্ট পুনরুদ্ধারের জন্য খুব গুরুত্বপূর্ণ।
সার্ভারটি জানে যে ব্রাউজারের কোনও বিদ্যমান অ্যাকাউন্টের জন্য সেশন কুকি (বৈধ বা মেয়াদোত্তীর্ণ) না থাকলে এবং ব্যবহৃত তৃতীয় পক্ষের অ্যাকাউন্টটি খুঁজে পাওয়া যায় নি this আমরা ব্যবহারকারীকে অবহিত করার চেষ্টা করি যে তারা কেবল লগ-ইন করছে না, তবে একটি নতুন অ্যাকাউন্ট তৈরি করছে যাতে তাদের যদি ইতিমধ্যে একটি অ্যাকাউন্ট থাকে তবে তারা আশা করি পরিবর্তে তাদের বর্তমান অ্যাকাউন্টটি থামিয়ে লগইন করতে পারে।
আমরা অতিরিক্ত অ্যাকাউন্টগুলিতে লিঙ্ক করতে একই একই প্রবাহটি ব্যবহার করি তবে ব্যবহারকারী যখন তৃতীয় পক্ষ থেকে ফিরে আসে তখন কোনও লগইন ক্রিয়ায় কোনও নতুন অ্যাকাউন্ট লিঙ্ক করার প্রয়াসের মধ্যে পার্থক্য করার জন্য একটি বৈধ সেশন কুকির উপস্থিতি ব্যবহৃত হয়। আমরা কেবলমাত্র প্রতিটি ধরণের একটি তৃতীয় পক্ষের অ্যাকাউন্টের অনুমতি দিই এবং যদি ইতিমধ্যে একটি লিঙ্কযুক্ত থাকে তবে ক্রিয়াটি অবরোধ করুন। এটি কোনও সমস্যা হবেনা কারণ একটি নতুন অ্যাকাউন্টের সাথে লিঙ্ক করার ইন্টারফেসটি যদি আপনার কাছে ইতিমধ্যে (প্রতি সরবরাহকারী) থাকে তবে এটি অক্ষম থাকে।
- কীভাবে অ্যাকাউন্টগুলি মার্জ করবেন?
যদি কোনও ব্যবহারকারী কোনও নতুন তৃতীয় পক্ষের অ্যাকাউন্ট যা ইতিমধ্যে একটি স্থানীয় অ্যাকাউন্টের সাথে লিঙ্কযুক্ত করার চেষ্টা করেছে, আপনি কেবল তাদের দুটি অ্যাকাউন্টকে মার্জ করতে চান তা নিশ্চিত করার জন্য প্রম্পট করুন (ধরে নিলেন যে আপনি আপনার ডেটা সেটের সাথে এই জাতীয় সংযোজন পরিচালনা করতে পারবেন - প্রায়শই সহজ বলেছে চেয়ে সম্পন্ন)। মার্জ করার অনুরোধ করার জন্য আপনি তাদের একটি বিশেষ বোতামও সরবরাহ করতে পারেন তবে বাস্তবে, তারা যা করছেন তারা অন্য অ্যাকাউন্টকে সংযুক্ত করছেন।
এটি একটি দুর্দান্ত সরল মেশিন। ব্যবহারকারী তৃতীয় পক্ষ থেকে তৃতীয় পক্ষের অ্যাকাউন্ট আইডি নিয়ে ফিরে আসে। আপনার ডাটাবেস তিনটি রাজ্যের একটিতে থাকতে পারে:
- অ্যাকাউন্টটি স্থানীয় অ্যাকাউন্টের সাথে সংযুক্ত এবং কোনও সেশনের কুকি উপস্থিত নেই -> লগইন
- অ্যাকাউন্টটি স্থানীয় অ্যাকাউন্টের সাথে সংযুক্ত এবং একটি সেশন কুকি উপস্থিত রয়েছে -> মার্জ করুন ge
- অ্যাকাউন্টটি কোনও স্থানীয় অ্যাকাউন্টের সাথে লিঙ্ক করা হয়নি এবং কোনও সেশনের কুকি উপস্থিত নেই -> সাইনআপ
অ্যাকাউন্টটি কোনও স্থানীয় অ্যাকাউন্টের সাথে লিঙ্ক করা হয়নি এবং একটি সেশন কুকি উপস্থিত রয়েছে -> অতিরিক্ত অ্যাকাউন্টের লিঙ্ক করা
- তৃতীয় পক্ষের সরবরাহকারীদের সাথে কীভাবে অ্যাকাউন্ট পুনরুদ্ধার করবেন?
এটি এখনও পরীক্ষামূলক অঞ্চল। আমি এটির জন্য নিখুঁত ইউএক্স দেখিনি কারণ বেশিরভাগ পরিষেবা তৃতীয় পক্ষের অ্যাকাউন্টের পাশে স্থানীয় পাসওয়ার্ড উভয়ই সরবরাহ করে এবং তাই "আমার পাসওয়ার্ড ভুলে গেছেন" ব্যবহারের ক্ষেত্রে ফোকাস করে, অন্য কোনও কিছু যা ভুল হতে পারে তা নয়।
স্লেড সহ, আমরা "সাইন ইন সহায়তা প্রয়োজন?" ব্যবহার করতে বেছে নিয়েছি? এবং যখন আপনি ক্লিক করেন, ব্যবহারকারীকে তাদের ইমেল বা ব্যবহারকারীর নাম জিজ্ঞাসা করুন। আমরা এটি সন্ধান করি এবং যদি আমরা কোনও মিলের অ্যাকাউন্ট খুঁজে পাই, তবে সেই ব্যবহারকারীকে এমন একটি লিঙ্ক ইমেল করুন যা সেগুলি স্বয়ংক্রিয়ভাবে পরিষেবাতে লগইন করতে পারে (এক সময়ের জন্য ভাল)। একবার প্রবেশ করার পরে, আমরা তাদের সরাসরি অ্যাকাউন্ট লিঙ্কিং পৃষ্ঠায় নিয়ে যাই, তাদের বলি তাদের আরও নজর দেওয়া উচিত এবং অতিরিক্ত অ্যাকাউন্টগুলি সম্ভবত সংযুক্ত করা উচিত এবং তাদের ইতিমধ্যে সংযুক্ত তৃতীয় পক্ষের অ্যাকাউন্টগুলি প্রদর্শন করুন।