FedCM এর সাথে নিরবচ্ছিন্ন এবং ব্যক্তিগত ব্যবহারকারী প্রমাণীকরণ: সেজনাম এর বাস্তবায়ন

একাধিক সেক্টর জুড়ে শিল্প নেতারা তাদের সমস্ত ব্যবহারকারীদের জন্য একটি দুর্দান্ত অভিজ্ঞতা প্রদান করার সময় গোপনীয়তা রক্ষা করা কতটা গুরুত্বপূর্ণ তা বোঝেন। সেজনাম, আপসহীন ব্যবহারকারীর অভিজ্ঞতা এবং গোপনীয়তা প্রদানের জন্য নিবেদিত, সফলভাবে ফেডারেটেড ক্রেডেনশিয়াল ম্যানেজমেন্ট (FedCM) সংহত করেছে।

টার্গেট প্রোফাইল: FedCM থেকে উপকৃত কোম্পানিগুলি

বিভিন্ন ডোমেইন জুড়ে সংস্থাগুলি তাদের সমাধানগুলির সাথে FedCM-কে একীভূত করেছে৷ ফেডারেটেড আইডেন্টিটি ম্যানেজমেন্টের জন্য FedCM-এর ডিজাইন দেওয়া, পরিচয় প্রদানকারীরা (IdPs) হল এর প্রাথমিক সুবিধাভোগী, এটি ব্যবহার করে একটি উন্নত লগইন অভিজ্ঞতা অফার করে। ইকমার্স পরিষেবা প্রদানকারী এবং অর্থ প্রদানকারী, যাদের মধ্যে অনেকেই পরিচয় প্রদানকারী হিসাবেও কাজ করে, তারা FedCM এর বাস্তবায়নের মাধ্যমে ব্যবহারকারীর অভিজ্ঞতা উন্নত করার সুযোগগুলিও চিহ্নিত করেছে।

সেজনাম

সেজনাম হল একটি ইউরোপীয় প্রযুক্তি কোম্পানি এবং চেক জনসংখ্যার 90% পর্যন্ত পরিচিতি প্রদানকারী। এটি একটি সামাজিক, জ্ঞান এবং বিষয়বস্তু হাব হিসাবে কাজ করে। সেজনাম তাদের অংশীদারদের প্ল্যাটফর্মে পরিচালিত অনলাইন স্টোরের গ্রাহকদের তাদের সেজনাম অ্যাকাউন্ট ব্যবহার করে সাইন ইন করার অনুমতি দেওয়ার জন্য FedCM গ্রহণ করেছে।

FedCM ডায়ালগ eshop.starkl.com-এ প্রদর্শিত হয়, ব্যবহারকারীকে তাদের সেজনাম অ্যাকাউন্ট দিয়ে সাইন ইন করার পরামর্শ দেয়।
FedCM ডায়ালগ ব্যবহারকারীকে তাদের অংশীদারের সাইটে Seznam দিয়ে সাইন ইন করার পরামর্শ দেয়।

FedCM-এর মাধ্যমে, Seznam তাদের অংশীদারদের নেটওয়ার্কে ব্যবহারকারীর সাইন-ইন রেট, একটি উন্নত ব্যবহারকারীর অভিজ্ঞতা, এবং তৃতীয় পক্ষের কুকি প্রাপ্যতা নির্বিশেষে একটি সুসংগত পরিচয় প্রবাহ অর্জন করেছে।

প্রেরণা

ফেডসিএম বাস্তবায়নের জন্য সেজনামের পছন্দটি তারা স্বীকৃত বেশ কয়েকটি সুবিধা দ্বারা চালিত হয়েছিল:

  • FedCM-কে শেষ ব্যবহারকারীর কথা মাথায় রেখে ডিজাইন করা হয়েছে, IdP-কে দেওয়া তথ্যের উপর ব্যবহারকারীকে নিয়ন্ত্রণ দেয়। এটি তাদের ব্যবহারকারীদের জন্য একটি নিরাপদ এবং ব্যক্তিগত পরিবেশের সেজনামের দৃষ্টিভঙ্গির সাথে সারিবদ্ধ।
  • FedCM হল একটি অন্তর্নির্মিত ব্রাউজার বৈশিষ্ট্য যা Seznam এর বিদ্যমান লগইন অভিজ্ঞতার সাথে সামঞ্জস্যপূর্ণ, যা OAuth 2.0 মান ব্যবহার করে।
  • FedCM পরিচয় ফেডারেশনের জন্য একটি গোপনীয়তা-কেন্দ্রিক পদ্ধতির জন্য ডিজাইন করা হয়েছে। উদাহরণ স্বরূপ, ব্যবহারকারী নির্ভরকারী পক্ষ (RP) পরিদর্শন করেছেন তা শুধুমাত্র IdP-এর সাথে শেয়ার করা হয় যদি ব্যবহারকারী সাইন ইন করতে চান। এটি টেকসই ব্যবসার বিষয়ে সেজনামের দৃষ্টিভঙ্গির সাথে সারিবদ্ধ হয়।

বাস্তবায়নের বিবরণ

সেজনাম তাদের বিদ্যমান OAuth সমাধানের উপরে একটি স্তর হিসাবে FedCM প্রয়োগ করেছে। এই আর্কিটেকচারে, FedCM ফ্লোকে IdP থেকে RPs-এ নিরাপদে একটি OAuth অনুমোদন কোড প্রেরণ করতে ব্যবহার করা হয়।

FedCM ফ্লো দেখানো একটি সিকোয়েন্স ডায়াগ্রাম যেখানে IdP পাশে OAuth অনুমোদন কোডের জন্য FedCM টোকেন বিনিময় করা হয়
FedCM প্রবাহ OAuth-এর সাথে একীভূত। ডায়াগ্রামের কোড দেখুন।

বাস্তবায়ন প্রচেষ্টা

সেজনাম হাইলাইট করেছেন যে FedCM-এর বাস্তবায়ন তাদের বিদ্যমান পদ্ধতির সাথে সামঞ্জস্যপূর্ণ ছিল। তাদের গবেষণা এবং API এর বাস্তবায়ন এক মাস ব্যাপী এবং দুই ডেভেলপারের প্রচেষ্টার প্রয়োজন। FedCM উৎপাদনে আনতে তাদের দুই মাসেরও কম সময় লেগেছে। এপিআই সাবধানে অধ্যয়ন করার জন্য যথেষ্ট সময় নিবেদিত সহ প্রক্রিয়াটি পুনরাবৃত্তিমূলক ছিল।

চ্যালেঞ্জ

প্রাথমিক গ্রহণকারী হিসাবে, সেজনাম বেশ কয়েকটি চ্যালেঞ্জ চিহ্নিত করেছে এবং মূল্যবান প্রতিক্রিয়া প্রদান করেছে যা API-কে পরিপক্ক করতে সাহায্য করেছে।

একাধিক পরিচয় প্রদানকারীর জন্য সমর্থন

সেজনাম একাধিক পরিচয় প্রদানকারীর জন্য FedCM এর সমর্থনে আগ্রহী ছিলেন। এই বৈশিষ্ট্যটির মাধ্যমে, তারা ব্যবহারকারীদের তাদের অংশীদারদের RPs-এ Seznam বা Google অ্যাকাউন্টগুলির মধ্যে একটি বেছে নেওয়ার অনুমতি দেয়। যাইহোক, যখন সেজনাম প্রথম তাদের FedCM বাস্তবায়নের সাথে যোগাযোগ করেছিল, তখন বৈশিষ্ট্যটি বাস্তবায়নের প্রাথমিক পর্যায়ে ছিল, এবং বিকাশকারীদের একটি অরিজিন ট্রায়ালের জন্য সাইন আপ করতে হবে এবং তাদের ব্যবহারকারীদের জন্য বৈশিষ্ট্যটি সক্ষম করতে একটি টোকেন ব্যবহার করতে হবে। এই কারণে, সেজনাম ক্রোম স্টেবলে বৈশিষ্ট্যটি পাঠানোর জন্য অপেক্ষা করা বেছে নিয়েছে।

বৈশিষ্ট্যটি Chrome 136 থেকে উপলব্ধ, এবং বিকাশকারীরা একাধিক পরিচয় প্রদানকারীর জন্য সমর্থন কনফিগার করতে পারে। উদাহরণস্বরূপ, Seznam এবং Google পরিচয় প্রদানকারী উভয়কে সমর্থন করার জন্য, IdP একটি একক get() কলে দুটি প্রদানকারীকে অন্তর্ভুক্ত করতে পারে এবং RP স্বাধীনভাবেও করতে পারে:

  // Executed on the RP's side:
    const credential = await navigator.credentials.get({
      identity: {
        providers: [
          {
            // IdP1: Seznam's config file URL
            configURL: 'https://szn.cz/.well-known/web-identity',
            clientId: '123',
          },
          {
            // Also allow Google Sign-in
            configURL: 'https://accounts.google.com/gsi/fedcm.json',
            clientId: '456',
          },
        ],
      },
    });

সেজনাম ইঙ্গিত দিয়েছে যে এই বৈশিষ্ট্যটি তাদের সমাধানের অংশ হবে। উপরন্তু, FedCM টিম একাধিক SDK-এর জন্য সমর্থন বাস্তবায়ন করছে , একাধিক get() কলের সমর্থন সহ।

ব্যক্তিগত DNS

সেজনাম পরীক্ষার পর্যায়ে তাদের নেটওয়ার্ক কনফিগারেশন সম্পর্কিত একটি চ্যালেঞ্জের সম্মুখীন হয়েছিল। তাদের পরীক্ষা আইডিপি সার্ভার একটি প্রাইভেট নেটওয়ার্কের মধ্যে ছিল, শুধুমাত্র ব্যক্তিগত DNS এর মাধ্যমে অ্যাক্সেসযোগ্য। পরিষেবাগুলি সর্বজনীনভাবে প্রকাশ করার আগে এই সেটআপটি অভ্যন্তরীণ পরীক্ষা এবং উন্নয়ন পরিবেশের জন্য সাধারণ।

যাইহোক, এই সেটআপটি একটি চ্যালেঞ্জের দিকে নিয়ে যায়: যেহেতু একটি well-known ফাইল একটি eTLD+1 থেকে পরিবেশন করা আবশ্যক, এবং একটি ব্যক্তিগত উন্নয়ন ডোমেন পাবলিক সাফিক্স তালিকায় নিবন্ধিত নয়, তাই ব্রাউজারটি ডেভেলপমেন্ট ডোমেনে হোস্ট করা well-known ফাইলটি আনার জন্য অনুরোধ পাঠাবে না:

  • login.idp.example : উদাহরণ উৎপাদন ডোমেইন।
  • idp.example/.well-known/web-identity : উৎপাদনে সুপরিচিত ফাইলের উদাহরণ।
  • login.dev.idp.example : উদাহরণ ডেভেলপমেন্ট ডোমেন।
  • login.dev.idp.example/.well-known/web-identity : উন্নয়ন পরিবেশে সুপরিচিত ফাইলের উদাহরণ।

যখন FedCM বাস্তবায়ন একটি ব্যক্তিগত ডোমেনে হোস্ট করা হয়, তখন ব্রাউজার well-known ফাইলের অনুরোধের ফলে এই ত্রুটি দেখা দেয়:

The fetch of the well-known file resulted in a network error: ERR_NAME_NOT_RESOLVED

এই ত্রুটিটি Chrome #fedcm-without-well-known-enforcement ফ্ল্যাগ সক্রিয় করে সমাধান করা যেতে পারে। যখন এই ফ্ল্যাগটি সক্ষম করা থাকে, ব্রাউজার পরীক্ষার উদ্দেশ্যে well-known ফাইল আনয়ন করা এড়িয়ে যায়৷ Chrome-এ পরীক্ষামূলক ফ্ল্যাগগুলি কীভাবে সক্ষম করবেন তা শিখুন।

কাস্টম তথ্য প্রকাশ

সেজনাম আরও ভাগ করেছে যে তারা FedCM UI এর প্রাথমিক নকশার পাশাপাশি অতিরিক্ত তথ্য অন্তর্ভুক্ত করতে চায়। স্ট্যান্ডার্ড FedCM ডায়ালগ ব্যবহারকারীর কাছে একটি নির্দিষ্ট বার্তা প্রদর্শন করে, উল্লেখ করে যে নির্দিষ্ট ডেটা—সাধারণত ব্যবহারকারীর প্রোফাইল ছবি, নাম এবং ইমেল ঠিকানা—RP-এর সাথে শেয়ার করা হচ্ছে।

FedCM টিম প্রতিক্রিয়া অন্তর্ভুক্ত করেছে এবং ব্যবহারকারীর কাছে উপস্থাপিত প্রকাশের কাস্টমাইজেশনের জন্য API-কে প্রসারিত করেছে। উদাহরণ স্বরূপ, Continue on বৈশিষ্ট্যের সাথে, IdP ব্যবহারকারীকে অতিরিক্ত তথ্য বা অনুমতির অনুরোধ করতে একটি কাস্টম পৃষ্ঠায় পুনঃনির্দেশ করতে পারে। কাস্টম প্যারামিটার এবং ক্ষেত্র বৈশিষ্ট্য, Chrome 132 থেকে সমর্থিত, আরও কাস্টমাইজেশনের জন্য অনুমতি দেয়।

একটি IdP পৃষ্ঠা দেখায় যে FedCM সাইন-আপ চালিয়ে যেতে, ব্যবহারকারীকে অবশ্যই অতিরিক্ত অনুমতি দিতে হবে, এই ক্ষেত্রে, ড্রাইভ ফাইল এবং ক্যালেন্ডার ইভেন্টগুলি দেখতে এবং ডাউনলোড করতে।
ব্যবহারকারী পরামিতি API এর সাথে আইডি অ্যাসারশন এন্ডপয়েন্ট এন্ডপয়েন্টে RP দ্বারা পাস করা অতিরিক্ত অনুমতি পর্যালোচনা করতে এবং মঞ্জুর করতে পারে।

নির্ভরশীল পার্টি মূল বৈধতা

আইডিপি সার্ভারকে অবশ্যই একটি ইনকামিং FedCM অনুরোধে Origin HTTP শিরোনামটি যাচাই করতে হবে যাতে অনুরোধটি আইডিপি-তে প্রাক-নিবন্ধিত RP-এর সাথে মেলে। এটি নিশ্চিত করে যে FedCM আইডি দাবির অনুরোধটি একটি অনুমোদিত RP থেকে আসছে, এবং client_id ব্যবহার করে আক্রমণকারীর কাছ থেকে নয়।

সেজনামের একটি কোণার কেস পরিস্থিতি রয়েছে: যখন তাদের অংশীদার RPs সেজনামের সাথে নিবন্ধন করে, তখন তারা RP-এর মূল তথ্যের জন্য অনুরোধ করে না। এর মানে হল যে RP এর উৎপত্তি যাচাই করা যাবে না।

Seznam এর FedCM ইন্টিগ্রেশন একটি বিদ্যমান OAuth সমাধানের উপরে নির্মিত। তারা RP-এর client_id এবং client_secret উভয়ই যাচাই করার বিকল্প পথ গ্রহণ করেছে যাতে আসলটি পরীক্ষা করার প্রয়োজন ছাড়াই সমাধানটি নিরাপদ থাকে।

পরিচয় প্রদানকারী ব্যবহারকারী-মুখী ডোমেন

সেজনাম-এর ব্যবহারকারী প্রমাণীকরণ পরিকাঠামো প্রাথমিকভাবে szn.cz ডোমেনে কাজ করে, যেখানে FedCM-এর জন্য প্রয়োজনীয় IdP এন্ডপয়েন্ট হোস্ট করা হয়। যাইহোক, তাদের প্রধান কর্পোরেট পরিচয় এবং যে ডোমেনের অধীনে ব্যবহারকারীরা তাদের পরিষেবাগুলিকে ব্যাপকভাবে চিনতে এবং বিশ্বাস করে তা হল seznam.cz

FedCM ডায়ালগ IdP এন্ডপয়েন্টের আসল মূল ডোমেন প্রদর্শন করে – এই ক্ষেত্রে, szn.cz seznam.cz ব্র্যান্ডের সাথে পরিচিত ব্যবহারকারীরা বিভ্রান্তির সম্মুখীন হতে পারে, এবং লগইন প্রক্রিয়া চলাকালীন কম পরিচিত szn.cz ডোমেনে সাইন ইন করতে অনুরোধ করা হলে দ্বিধা বোধ করতে পারে।

Chrome 141 অনুযায়ী, FedCM IdP বাস্তবায়ন হোস্ট করা ডোমেনের থেকে আলাদা কোনো ডোমেন প্রদর্শনের অনুমতি দেয় না। এই নিষেধাজ্ঞাটি ব্যবহারকারীর জন্য স্বচ্ছতা নিশ্চিত করার উদ্দেশ্যে একটি ইচ্ছাকৃত ডিজাইন পছন্দ। যাইহোক, FedCM টিম এই সীমাবদ্ধতা তৈরি করতে পারে এমন চ্যালেঞ্জগুলি স্বীকার করে এবং সম্ভাব্য সামঞ্জস্য নিয়ে আলোচনা করছে।

প্রভাব

FedCM API এর সাথে, Seznam এখন তাদের অংশীদারদের ব্যবহারকারীদের একক ট্যাপ অনুমোদনের প্রবাহ প্রদান করতে পারে। তারা অন্যান্য প্রমাণীকরণ পদ্ধতির তুলনায় FedCM এর UX দ্বারা প্রদত্ত সুবিধাগুলি তুলে ধরে।

যদিও সেজনাম FedCM লগইনে স্থানান্তরিত ওয়েবসাইটগুলিতে ব্যবহারকারীর ব্যস্ততার উল্লেখযোগ্য বৃদ্ধি লক্ষ্য করেছে, তারা অন্যান্য কারণগুলির থেকে সুনির্দিষ্ট সরাসরি প্রভাবকে আলাদা করার জন্য একটি ব্যাপক বিশ্লেষণ সম্পাদন করেনি। FedCM ইন্টিগ্রেশনের আগে, বাস্তবায়ন ব্যবহারকারী শনাক্তকরণের জন্য সম্মতিযুক্ত হ্যাশড ইমেল ব্যবহার করে গেস্ট চেকআউটের অনুমতি দেয়। এই ধরনের বিশ্লেষণ সঞ্চালনের চ্যালেঞ্জ ছিল একটি ব্যবহারকারীর রূপান্তর FedCM-এর জন্য দায়ী করা যেতে পারে কিনা বা ব্যবহারকারী গেস্ট চেকআউট ব্যবহার করে একটি ক্রয় সম্পন্ন করতে পারে কিনা তা অনুমান করা। সেজনাম-এর অনুমান প্রস্তাব করে যে FedCM দ্বারা অফার করা উন্নত ব্যবহারের সহজতা এই উচ্চতর রূপান্তর হারে অবদান রাখতে পারে।

উপসংহার

Seznam সফলভাবে FedCM প্রয়োগ করেছে, তাদের বিদ্যমান OAuth সমাধানের পাশাপাশি একটি বিকল্প অনুমোদন প্রবাহ প্রদান করেছে। যদিও সেজনাম ডেভেলপাররা পরিচয় প্রদানকারী সমর্থন, ব্যক্তিগত ডিএনএস সেটআপ, প্রকাশের পাঠ্যের কাস্টমাইজেশন, নির্ভরশীল পক্ষের মূল বৈধতা এবং ব্যবহারকারী-মুখী ডোমেন প্রদর্শন সম্পর্কিত কিছু চ্যালেঞ্জের মুখোমুখি হয়েছিল, তাদের বাস্তবায়নের পর থেকে API পরিপক্ক হয়েছে। FedCM টিম Seznam এবং অন্যান্য প্রাথমিক গ্রহণকারীদের কাছ থেকে প্রতিক্রিয়া অন্তর্ভুক্ত করেছে, এই চ্যালেঞ্জগুলি সমাধান করার জন্য আরও ভাল সরঞ্জামগুলির জন্য অনুমতি দেয়। পরবর্তী পদক্ষেপ হিসাবে, সেজনাম একাধিক পরিচয় প্রদানকারীর জন্য FedCM এর সমর্থন বাস্তবায়নের পরিকল্পনা করেছে।