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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

এটি একটি ব্যবহারকারী হিসাবে চেষ্টা করুন

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

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

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

এটি একটি বিকাশকারী হিসাবে চেষ্টা করুন

যদি একটি লগইন প্রদানকারীর RP-এ একটি Javascript SDK এম্বেড করা থাকে (প্রস্তাবিত), তাহলে একাধিক আইডিপি সক্ষম করতে 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 অ্যাট্রিবিউট আইডিপির জন্য কনফিগারেশন ফাইলের URL সঞ্চয় করে যা ব্যবহারকারীর দ্বারা প্রমাণীকৃত হয়। RP নির্ধারণ করতে পারে কিভাবে ফলাফল token পরিচালনা করতে হবে কারণ এটি IdP এর উপর নির্ভর করে ভিন্ন।

মূল বিচারে অংশগ্রহণ করুন

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

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

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

মূল বিচারে অংশগ্রহণের পদক্ষেপ:

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

অ্যান্ড্রয়েডে ক্রোমের জন্য বোতাম মোড API

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

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

কনফিগারেশন ফাইলের আইডিপি ব্র্যান্ডিংয়ের মতো, RP-এর আইকনগুলি আইডিপি পাশে কনফিগার করা যেতে পারে এবং 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 থেকে Android-এ Chrome-এ উপলব্ধ হবে।

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

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

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

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

জড়িত এবং মতামত শেয়ার করুন

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