FedCM আপডেট: ডেস্কটপে মাল্টি আইডিপি এপিআই, বোতাম মোড এপিআই এবং অ্যান্ড্রয়েড অরিজিন ট্রায়ালে ক্রোমের জন্য কন্টিনিউয়েশন বান্ডেল

নাতালিয়া মার্কোবোরোডোভা
Natalia Markoborodova

Chrome 128 থেকে, মাল্টি-আইডিপি এপিআই ডেস্কটপে একটি অরিজিন ট্রায়াল শুরু করছে, এবং বোতাম মোড এপিআই এবং কন্টিনিউয়েশন বান্ডেল অ্যান্ড্রয়েডে একটি অরিজিন ট্রায়াল শুরু করছে। মাল্টি আইডিপি বৈশিষ্ট্যের সাহায্যে, ডেভেলপাররা একটি একক get() কলে একাধিক সমর্থিত আইডেন্টিটি প্রোভাইডারদের একটি অ্যারে নির্দিষ্ট করতে পারে। বোতাম মোড এপিআই একটি নতুন UI যোগ করে। বোতাম মোড এপিআই এর সাহায্যে, আইডেন্টিটি প্রোভাইডাররা FedCM এপিআই ব্যবহার করতে পারে এমনকি যদি তাদের ব্যবহারকারীদের API কলে সক্রিয় আইডিপি সেশন না থাকে। কন্টিনিউয়েশন বান্ডেলটিতে কন্টিনিউয়েশন এপিআই এবং প্যারামিটার এপিআই থাকে, যা আইডিপি-প্রদত্ত অনুমতি ডায়ালগের সাথে জড়িত একটি OAuth অনুমোদন প্রবাহের মতো অভিজ্ঞতা সক্ষম করে। বান্ডেলটিতে ফিল্ডস এপিআই, মাল্টিপল configURL এবং কাস্টম অ্যাকাউন্ট লেবেলের মতো অন্যান্য পরিবর্তনও অন্তর্ভুক্ত রয়েছে।

অরিজিন ট্রায়াল: মাল্টি আইডিপি এপিআই

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

একজন ব্যবহারকারী মাল্টি-আইডিপি এপিআই ব্যবহার করে বিভিন্ন আইডিপি দিয়ে সাইন ইন করছেন।

ব্যবহারকারীর বিদ্যমান অ্যাকাউন্ট এবং তাদের সাথে সম্পর্কিত টাইমস্ট্যাম্পের উপর ভিত্তি করে আইডিপিগুলিকে অগ্রাধিকার দেওয়া হয়।

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

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

যদি ব্যবহারকারীর লগইন স্ট্যাটাসটি একটি IdP-এর জন্য লগ-আউট হিসেবে সেট করা থাকে, তাহলে FedCM-এ কল করলে সেই IdP-এর জন্য অ্যাকাউন্ট পাওয়া যাবে না। একইভাবে, যদি সমস্ত উপলব্ধ IdP-এর জন্য ব্যবহারকারীর স্ট্যাটাস লগ-আউট থাকে, তাহলে FedCM সাইন-ইন প্রম্পটটি উইজেট মোডে স্বয়ংক্রিয়ভাবে প্রদর্শিত হবে না।

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

যখন ব্যবহারকারীর লগইন স্ট্যাটাস লগ-ইন করা থাকে, কিন্তু সেশনের মেয়াদ শেষ হয়ে যায়, তখন অমিল UI প্রদর্শিত হয়।

লগইন ইন স্ট্যাটাস সম্পর্কে আরও তথ্যের জন্য, ডকুমেন্টেশন দেখুন। আরও বাস্তবায়নের বিশদ বিবরণের জন্য ডেভেলপার গাইড দেখুন।

অরিজিন ট্রায়াল: মাল্টি আইডিপি এপিআই

আপনি ডেমো RP- তে ব্যবহারকারী হিসেবে অথবা Chrome 128 বা তার পরবর্তী সংস্করণ ব্যবহার করে ডেভেলপার হিসেবে মাল্টি আইডিপি এপিআই ব্যবহার করে দেখতে পারেন।

একজন ব্যবহারকারী হিসেবে এটি ব্যবহার করে দেখুন

একজন ব্যবহারকারী হিসেবে নিজে চেষ্টা করে দেখুন । নিশ্চিত করুন যে:

  • Chrome পৃষ্ঠাটিতে তৃতীয় পক্ষের সাইন-ইন প্রম্পট ব্লক করার জন্য কনফিগার করা হয়নি: chrome://settings/content/federatedIdentityApi
  • আপনি একাধিক ডেমো আইডিপিতে সাইন ইন করেছেন। ডেমো পৃষ্ঠার নির্দেশাবলী অনুসরণ করুন।

মনে রাখবেন যে, যেসব সাইটের অরিজিন অরিজিন ট্রায়ালের জন্য নিবন্ধিত নয়, সেখানে মাল্টি-আইডিপি চেষ্টা করার জন্য, আপনাকে chrome://flags/#fedcm-multi-idp এর অধীনে বৈশিষ্ট্য ফ্ল্যাগ সক্ষম করতে হবে।

একজন ডেভেলপার হিসেবে এটি ব্যবহার করে দেখুন

যদি কোন লগইন প্রদানকারীর RP-তে একটি Javascript SDK এমবেড করা থাকে (প্রস্তাবিত), তাহলে একাধিক IdP সক্রিয় করার জন্য navigator.credentials.get() কলটি প্রদানকারী দ্বারা প্রয়োগ করা যেতে পারে এবং RP ডেভেলপারদের তাদের কোড পরিবর্তন করার প্রয়োজন নেই। অন্যথায়, RP-কে নিজেরাই FedCM API কল করতে হবে।

একটি RP-তে মাল্টি আইডিপি পরীক্ষা করতে, সমর্থিত প্রদানকারীদের অ্যারে নিম্নরূপ উল্লেখ করুন:

try {
  const cred = await navigator.credentials.get({
    identity: {
      providers: [
        {
          configUrl: "https://idp1.example/foo.json", // first IdP
          clientId: "123",
        },
        {
          configUrl: "https://idp2.example/bar.json", // second IdP
          clientId: "456",
        }
      ]
    }
  });

  const token = cred.token;
  const currentConfigFileUrl = cred.configURL;

  if (cred.configURL === 'https://idp1.example/foo.json')  {
    // handle the token for idp1.example
  } else if (cred.configURL === 'https://idp2.example/bar.json') {
    // handle the token for idp2.example
  }
} catch (error) {
  console.error("Error during credential retrieval:", error);
}

ফলাফল প্রাপ্ত বস্তুর মধ্যে configURL অ্যাট্রিবিউটটি ব্যবহারকারীর দ্বারা প্রমাণিত IdP-এর জন্য কনফিগারেশন ফাইলের URL সংরক্ষণ করে। RP নির্ধারণ করতে পারে যে ফলাফল প্রাপ্ত token কীভাবে পরিচালনা করতে হবে কারণ এটি IdP-এর উপর নির্ভর করে ভিন্ন হয়।

অরিজিন ট্রায়ালে অংশগ্রহণ করুন

অরিজিন ট্রায়াল আপনাকে নতুন বৈশিষ্ট্যগুলি চেষ্টা করার এবং তাদের ব্যবহারযোগ্যতা, ব্যবহারিকতা এবং কার্যকারিতা সম্পর্কে প্রতিক্রিয়া জানাতে দেয়। আরও তথ্যের জন্য, "অরিজিন ট্রায়াল দিয়ে শুরু করুন" দেখুন।

আপনি Chrome 128 থেকে শুরু করে অরিজিন ট্রায়ালের জন্য নিবন্ধন করে মাল্টি আইডিপি বৈশিষ্ট্যটি চেষ্টা করে দেখতে পারেন।

মাল্টি আইডিপি চেষ্টা করার জন্য, একজন আরপি তাদের অরিজিন নিবন্ধন করতে পারেন এবং একটি প্রথম-পক্ষের অরিজিন ট্রায়াল চালাতে পারেন। আইডিপির পক্ষে তৃতীয়-পক্ষের অরিজিন ট্রায়ালের জন্য নিবন্ধন করা এবং জাভাস্ক্রিপ্ট SDK ব্যবহার করে তাদের সমস্ত আরপি-র জন্য মাল্টি আইডিপি বৈশিষ্ট্য উপলব্ধ করা সম্ভব।

অরিজিন ট্রায়ালে অংশগ্রহণের ধাপ:

  1. মাল্টি আইডিপি এপিআই অরিজিন ট্রায়াল রেজিস্ট্রেশন পৃষ্ঠায় যান। ২. রেজিস্টার বোতামে ক্লিক করুন এবং একটি টোকেন অনুরোধ করতে ফর্মটি পূরণ করুন।
  2. প্রথম-পক্ষের অরিজিন ট্রায়ালের জন্য নিবন্ধন করতে, "ওয়েব অরিজিন" ক্ষেত্রে RP-এর অরিজিন লিখুন। তৃতীয়-পক্ষের অরিজিন ট্রায়ালের জন্য, IdP-এর JavaScript SDK-এর অরিজিন লিখুন এবং "তৃতীয়-পক্ষের ম্যাচিং" বাক্সটি চেক করুন।
  3. জমা দিন ক্লিক করুন।
  4. RP পৃষ্ঠায় ইস্যু করা টোকেনটি প্রদান করুন:
    • 1P অরিজিন ট্রায়াল অংশগ্রহণকারীদের জন্য: - <head> এ একটি মেটা ট্যাগ হিসেবে : <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE"> - একটি HTTP হেডার হিসেবে: Origin-Trial: TOKEN_GOES_HERE
    • তৃতীয় পক্ষের উৎপত্তি ট্রায়াল অংশগ্রহণকারীদের জন্য: - প্রোগ্রাম্যাটিকভাবে একটি টোকেন প্রদান করে।

অ্যান্ড্রয়েডে Chrome-এর জন্য বোতাম মোড API

Chrome সংস্করণ ১২৮ থেকে, Button Mode API-এর অরিজিন ট্রায়াল অ্যান্ড্রয়েডের Chrome-এ শুরু হবে, ডেস্কটপে প্রাথমিক ট্রায়ালের পর। Button Mode API-এর মাধ্যমে, পরিচয় প্রদানকারীরা FedCM API ব্যবহার করতে পারবেন, এমনকি যদি তাদের ব্যবহারকারীরা API কলের সময় IdP থেকে লগ আউট হয়ে থাকেন। সাইন-ইন প্রবাহটি একটি ব্যবহারকারীর অঙ্গভঙ্গি দ্বারা শুরু হয়, যা ব্যবহারকারীর উদ্দেশ্যকে আরও ভালভাবে প্রতিফলিত করে।

Chrome 128-এ, একটি নতুন বৈশিষ্ট্য চালু করা হয়েছে যা IdP-গুলিকে ক্লায়েন্ট মেটাডেটা এন্ডপয়েন্ট রেসপন্সে সরাসরি RP-এর অফিসিয়াল লোগো আইকন অন্তর্ভুক্ত করার অনুমতি দেয়। এটি বোতাম মোডে মোবাইল ডিভাইসের UI উন্নত করে।

কনফিগ ফাইলের আইডিপি ব্র্যান্ডিংয়ের মতো, আরপি'র আইকনগুলি আইডিপি সাইডে কনফিগার করা যেতে পারে এবং client_metadata_endpoint প্রতিক্রিয়ায় নিম্নরূপে ফেরত পাঠানো যেতে পারে:

  "privacy_policy_url": "https://rp.example/privacy_policy.html",
  "terms_of_service_url": "https://rp.example/terms_of_service.html",
  "icons": [{
      "url": "https://idp.example/rp-icon.ico",
      "size": 40
   }]
আইডিপি এবং আরপি'র লোগো আইকন।
মোবাইলে ডিসক্লোজার UI-তে IdP এবং RP-এর লোগো আইকন।

আইকন সাপোর্ট সম্পর্কে আরও জানতে, ডেভেলপার ডকুমেন্টেশন দেখুন।

যদি ব্যবহারকারী এখনও সাইন ইন না করে থাকেন, তাহলে FedCM ব্যবহারকারীকে Chrome কাস্টম ট্যাব (CCT) এর মাধ্যমে IdP দ্বারা প্রদত্ত login_url ব্যবহার করে IdP-তে সাইন ইন করতে অনুরোধ করে।

যদি ব্যবহারকারী কোনও রিটার্নিং অ্যাকাউন্ট দিয়ে পুনরায় প্রমাণীকরণ করেন, তাহলে ডিসক্লোজার UI প্রদর্শিত হবে না।

একজন ব্যবহারকারী একটি রিটার্নিং অ্যাকাউন্ট দিয়ে সাইন ইন করছেন। ডিসক্লোজার UI প্রদর্শিত হচ্ছে না।

অরিজিন ট্রায়ালের জন্য নিবন্ধন করতে, ডেস্কটপে বাটন মোড API- এর নির্দেশাবলী দেখুন। যদি আপনি ইতিমধ্যেই ডেস্কটপে অরিজিন ট্রায়ালের জন্য সাইন আপ করে থাকেন, তাহলে বৈশিষ্ট্যটি স্বয়ংক্রিয়ভাবে Chrome 128 থেকে শুরু করে অ্যান্ড্রয়েডের Chrome-এ আপনার জন্য উপলব্ধ হবে।

অ্যান্ড্রয়েডে Chrome-এর জন্য কন্টিনিউয়েশন API বান্ডেল

Chrome সংস্করণ ১২৮ থেকে, ডেস্কটপে প্রাথমিক ট্রায়ালের পর, Continuation API বান্ডেলটি Android-এ Chrome-এর জন্য একটি অরিজিন ট্রায়ালের অংশ হিসেবে উপলব্ধ হবে। এই বান্ডেলটিতে একাধিক FedCM বৈশিষ্ট্য রয়েছে, যার মধ্যে রয়েছে Continuation API , Parameters API , Fields API , Multiple configURL এবং Custom Account Labels

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

কন্টিনিউয়েশন API বান্ডেল সম্পর্কে আরও জানতে, ডেস্কটপে কন্টিনিউয়েশন API বান্ডেলের ব্লগ পোস্টটি দেখুন। অরিজিন ট্রায়ালের জন্য নিবন্ধন করতে, এই নির্দেশাবলী অনুসরণ করুন। আপনি যদি ইতিমধ্যেই ডেস্কটপে অরিজিন ট্রায়ালের জন্য সাইন আপ করে থাকেন, তাহলে বৈশিষ্ট্যগুলি স্বয়ংক্রিয়ভাবে Chrome 128 থেকে শুরু করে অ্যান্ড্রয়েডের Chrome-এ আপনার জন্য উপলব্ধ হবে।

অংশগ্রহণ করুন এবং মতামত শেয়ার করুন

আপনার যদি কোনও প্রতিক্রিয়া থাকে বা কোনও সমস্যার সম্মুখীন হন, তাহলে আপনি একটি সমস্যা দায়ের করতে পারেন। আমরা ক্যানোনিকাল FedCM ডেভেলপার গাইডটি আপডেট লগ পৃষ্ঠার সাথে আপডেট রাখব।