প্রকাশিত: ১২ জানুয়ারী, ২০২৬
Chrome 143 গোপনীয়তা, ডেভেলপার অভিজ্ঞতা এবং ব্রাউজারের আন্তঃকার্যক্ষমতা উন্নত করার জন্য ফেডারেটেড ক্রেডেনশিয়াল ম্যানেজমেন্ট (FedCM) API- তে আপডেটগুলি প্রবর্তন করেছে। এই পরিবর্তনগুলি পরিচয় প্রদানকারী (IdP), নির্ভরশীল পক্ষ (RP) এবং ওয়েব সম্প্রদায়ের প্রতিক্রিয়ার উপর ভিত্তি করে।
মূল আপডেটগুলি হল:
- কাঠামোগত JSON প্রতিক্রিয়ার জন্য সমর্থন
- ক্লায়েন্ট মেটাডেটার জন্য আরও কঠোর যাচাইকরণ
- API ধারাবাহিকতার উন্নতি
ID অ্যাসারশন এন্ডপয়েন্ট থেকে স্ট্রাকচার্ড JSON রেসপন্স সাপোর্ট করে
পূর্বে, FedCM ID অ্যাসারশন এন্ডপয়েন্টের জন্য তার প্রতিক্রিয়ায় token প্রপার্টিটিকে একটি স্ট্রিং হিসেবে ব্যবহার করা প্রয়োজন ছিল। এর ফলে ডেভেলপাররা সার্ভারে একটি JSON স্ট্রিংয়ে ডেটা ম্যানুয়ালি সিরিয়ালাইজ করতে এবং ক্লায়েন্টে পার্স করতে বাধ্য হত।
Chrome 143 থেকে শুরু করে, ID assertion endpoint token প্রপার্টির মান হিসেবে একটি স্ট্রাকচার্ড JSON অবজেক্টকে সমর্থন করে, উদাহরণস্বরূপ:
{
"token": {
"access_token": "a1b2c3d4e5f6...",
"user_info": {
"email": "jane.doe@company.example",
"given_name": "Jane",
"family_name": "Doe"
}
}
}
এই পরিবর্তনটি ম্যানুয়াল JSON সিরিয়ালাইজেশন এবং পার্সিংয়ের প্রয়োজনীয়তা দূর করে এবং IdP-গুলিকে অতিরিক্ত তথ্য ফেরত দেওয়ার অনুমতি দেয়।
FedCM ডেমোর মাধ্যমে এই বৈশিষ্ট্যটি ব্যবহার করে দেখুন অথবা আপডেট করা ID অ্যাসারশন এন্ডপয়েন্ট রেসপন্স কীভাবে গঠন করা হয় সে সম্পর্কে হালনাগাদ তথ্যের জন্য Identity Provider-এ Implement FedCM সাইড গাইডটি দেখুন।
ক্লায়েন্ট মেটাডেটা যাচাই করুন
ব্যবহারকারীর গোপনীয়তা আরও ভালোভাবে সুরক্ষিত করার জন্য, FedCM IdP এন্ডপয়েন্টগুলির জন্য বৈধতা জোরদার করছে। এই পরিবর্তনটি একটি IdP কে একটি RP কে একটি পাথ প্যারামিটার হিসাবে পাস করা একটি অনন্য ID এর সাথে মেলাতে বাধা দেয় ।
যদি আপনার FedCM কনফিগারেশন client_metadata endpoint ব্যবহার করে, তাহলে আপনাকে অবশ্যই আপনার .well-known/web-identity ফাইলে accounts_endpoint এবং login_url অন্তর্ভুক্ত করতে হবে। Chrome 145 থেকে, ব্রাউজার wellknown ফাইলে accounts_endpoint প্যারামিটার প্রয়োগ করে।
{
"accounts_endpoint": "/example-accounts",
"login_url": "/example-login"
}
আরও বিস্তারিত জানার জন্য, FedCM বাস্তবায়ন নির্দেশিকা দেখুন।
API ধারাবাহিকতা এবং ত্রুটি পরিচালনার আপডেট
ওয়েব ইকোসিস্টেম ফিডব্যাকের সাথে সামঞ্জস্য রেখে, ব্রাউজারগুলিতে FedCM API-এর স্পষ্টতা এবং ধারাবাহিকতা উন্নত করার জন্য Chrome 143 দুটি পরিবর্তন আনছে।
nonce প্যারামিটারটি স্থানান্তর করুন
১৪৫ ভার্সন থেকে শুরু করে, Chrome টপ-লেভেল nonce প্যারামিটারের জন্য সাপোর্ট বন্ধ করে দেয়। আপনাকে navigator.credentials.get() কলে প্যারাম অবজেক্টের মধ্যে nonce প্যারামিটারটি পাস করতে হবে:
const credential = await navigator.credentials.get({
identity: {
providers: [{
// Don't pass nonce as a top-level parameter here
configURL: "/fedcm.json",
clientId: "123",
params: {
// Place nonce within the params object
nonce: "a-random-nonce"
}
}]
}
});
নিশ্চিত করুন যে আপনার সার্ভার-সাইড লজিক আইডি অ্যাসারশন এন্ডপয়েন্টে params অবজেক্টের মধ্যে nonce আশা করে।
IdentityCredentialError.code এর নাম পরিবর্তন করে IdentityCredentialError.error করুন।
বিল্ট-ইন DOMException.code প্রপার্টির সাথে নামকরণের সংঘর্ষ রোধ করার জন্য, IdentityCredentialError.code এর নাম পরিবর্তন করে IdentityCredentialError.error রাখা হয়েছে। এই পরিবর্তনটি Chrome 145 থেকে কার্যকর করা হবে।
try {
// FedCM API call
} catch (e) {
// Renamed IdentityCredentialError.code to IdentityCredentialError.error:
console.log(e.error);
}
ট্রানজিশন পিরিয়ডের (Chrome 143 এবং 144) সময় ব্যাকওয়ার্ড সামঞ্জস্যতা নিশ্চিত করতে, আপনার ত্রুটি পরিচালনার লজিকে code এবং error উভয় বৈশিষ্ট্য পরীক্ষা করুন। এটি নিশ্চিত করে যে ব্যবহারকারীরা Chrome এর নতুন সংস্করণগুলিতে আপডেট করার সময় আপনার সমাধান পুরানো ব্রাউজারগুলিতে কাজ করে:
// In older browsers, the property might still be named 'code'
// during the transition period
const errorCode = e.error ?? e.code;
if (errorCode) {
// Handle specific error types
} else {
console.error("An unknown error occurred", e);
}
FedCM ডকুমেন্টেশনের "ত্রুটি প্রতিক্রিয়া ফেরত দিন" বিভাগে আরও জানুন।
আপনার মতামত শেয়ার করুন
FedCM-এর উন্নয়ন এবং উন্নতি অব্যাহত রাখার সাথে সাথে আমরা আপনার মতামতকে মূল্যবান বলে মনে করি। যদি আপনার কোন প্রতিক্রিয়া থাকে বা কোনও সমস্যার সম্মুখীন হন:
- আমাদের GitHub সংগ্রহস্থলে একটি সমস্যা ফাইল করুন।
- সর্বশেষ ঘোষণাগুলির সাথে আপ-টু-ডেট থাকতে আমাদের ডেভেলপার নিউজলেটার মেইলিং তালিকায় যোগদান করুন।