ক্রোম FedCM-এ স্বয়ংক্রিয়-পুনঃপ্রমাণকরণ সমর্থন করে
ফেডারেটেড ক্রেডেনশিয়াল ম্যানেজমেন্ট API (FedCM) হল গোপনীয়তা-সংরক্ষণকারী পরিচয় ফেডারেশনের জন্য একটি ওয়েব API। আইডেন্টিটি ফেডারেশনের সাথে, একটি RP (নির্ভরকারী পক্ষ) একটি আইডিপি (পরিচয় প্রদানকারী) এর উপর নির্ভর করে ব্যবহারকারীকে একটি নতুন ব্যবহারকারীর নাম এবং পাসওয়ার্ড ছাড়াই একটি অ্যাকাউন্ট প্রদান করতে।
FedCM ব্রাউজারকে সেই প্রসঙ্গে বুঝতে দেয় যেখানে RP এবং IdP তথ্য বিনিময় করে। এটি ব্যবহারকারীকে শেয়ার করা তথ্য এবং বিশেষাধিকার স্তর সম্পর্কে অবহিত করে এবং অনিচ্ছাকৃত অপব্যবহার প্রতিরোধ করে। FedCM সংস্করণ 108 থেকে Chrome এ উপলব্ধ।
Chrome 115-এ, FedCM স্বয়ংক্রিয়-পুনঃপ্রমাণিকরণের জন্য সমর্থন পাচ্ছে যা ব্যবহারকারীর অভিজ্ঞতাকে উন্নত করে এবং প্রাথমিক সম্মতির পরে RP-কে আরও সুগমিত পুনঃপ্রমাণকরণ সক্ষম করে।
স্বয়ংক্রিয়ভাবে প্রমাণীকরণ
বর্তমানে, একজন ব্যবহারকারী FedCM API-এর মাধ্যমে একটি আইডিপি সহ একটি RP-এ একটি ফেডারেটেড অ্যাকাউন্ট তৈরি করার পরে, পরের বার যখন তারা ওয়েবসাইটটি ভিজিট করবে তখন তাদের ইউজার ইন্টারফেসের একই ধাপগুলি অতিক্রম করতে হবে। তার মানে ব্যবহারকারীকে স্পষ্টভাবে এবং ম্যানুয়ালি পুনরায় প্রমাণীকরণ করতে এবং সাইন-ইন প্রবাহের সাথে এগিয়ে যাওয়ার জন্য পুনরায় নিশ্চিত করতে হবে৷
যদিও ব্যবহারকারীর ট্র্যাকিং প্রতিরোধ করার জন্য ফেডারেটেড অ্যাকাউন্ট তৈরি করার আগে স্পষ্ট ব্যবহারকারীর অভিজ্ঞতা বোঝা যায় (যা FedCM-এর প্রধান লক্ষ্যগুলির মধ্যে একটি), ব্যবহারকারী একবার এটির মধ্য দিয়ে যাওয়ার পরে এটি অপ্রয়োজনীয়ভাবে কষ্টকর: ব্যবহারকারী অনুমতি দেওয়ার অনুমতি দেওয়ার পরে RP এবং IdP-এর মধ্যে যোগাযোগ, তারা ইতিমধ্যে স্বীকার করেছে এমন কিছুর জন্য অন্য সুস্পষ্ট ব্যবহারকারী নিশ্চিতকরণ কার্যকর করার জন্য কোনও গোপনীয়তা বা নিরাপত্তা সুবিধা নেই। এই কারণেই আমরা একটি আরও সুবিন্যস্ত UX প্রবর্তন করছি যা RPs তাদের ফিরে আসা ব্যবহারকারীদের জন্য বেছে নিতে পারে।
FedCM স্বয়ংক্রিয়-পুনঃপ্রমাণকরণ (সংক্ষেপে "অটো-রিওথন") ব্যবহারকারীরা স্বয়ংক্রিয়ভাবে পুনরায় প্রমাণীকরণ করতে দেয়, যখন তারা FedCM ব্যবহার করে তাদের প্রাথমিক প্রমাণীকরণের পরে ফিরে আসে। এখানে "প্রাথমিক প্রমাণীকরণ" এর অর্থ হল একই ব্রাউজারে প্রথমবার FedCM-এর সাইন-ইন ডায়ালগে "Continue as..." বোতামে ট্যাপ করে ব্যবহারকারী একটি অ্যাকাউন্ট তৈরি করেন বা RP-এর ওয়েবসাইটে সাইন ইন করেন।
![একটি ডায়ালগ যা ব্যবহারকারী একটি অ্যাকাউন্ট তৈরি করতে বা প্রমাণীকরণ করতে ট্যাপ করে।](https://google-developers.gonglchuangl.net/static/privacy-sandbox/assets/images/blog/a-dialog-user-taps-to-c-c86e154d4a899.png?authuser=0&hl=bn)
অটো-রিউথনের জন্য একটি বিকল্প বেছে নিন
যখন আমরা আরও ভাল UX প্রদান করতে এবং স্পেসিফিকেশনের সাথে সারিবদ্ধ করার জন্য স্বয়ংক্রিয়-রিউথন প্রবর্তন করছি, তখন ডিফল্ট ব্যবহারকারীর অভিজ্ঞতা কোনো কোড পরিবর্তন ছাড়াই ভিন্ন হবে। স্বয়ংক্রিয়-রিউথন উপলব্ধ থাকলে, আপনার mediation
বিকল্পে বিকাশকারীরা navigator.credentials.get()
দিয়ে যে বিকল্পটি নির্বাচন করেন তার উপর নির্ভর করে ব্রাউজার তার আচরণ পরিবর্তন করে।
const cred = await navigator.credentials.get({
identity: {
providers: [{
configURL: "https://idp.example/fedcm.json",
clientId: "1234",
}],
},
mediation: 'optional', // this is the default
});
mediation
হল ক্রেডেনশিয়াল ম্যানেজমেন্ট এপিআই-এর একটি সম্পত্তি , এটি PasswordCredential এবং FederatedCredential- এর মতো একইভাবে আচরণ করে এবং এটি PublicKeyCredential দ্বারা আংশিকভাবে সমর্থিত। সম্পত্তি নিম্নলিখিত চারটি মান গ্রহণ করে:
-
'required'
: এগিয়ে যাওয়ার জন্য সর্বদা একটি মধ্যস্থতা প্রয়োজন, উদাহরণস্বরূপ, UI-তে "চালিয়ে যান" বোতামে ক্লিক করা। এই বিকল্পটি চয়ন করুন যদি আপনার ব্যবহারকারীদের প্রতিবার প্রমাণীকরণের প্রয়োজন হয় স্পষ্টভাবে অনুমতি দেওয়ার আশা করা হয়। -
'optional'
(ডিফল্ট): সম্ভব হলে অটো-রিউথন, না হলে একটি মধ্যস্থতা প্রয়োজন। আমরা সাইন-ইন পৃষ্ঠায় এই বিকল্পটি বেছে নেওয়ার পরামর্শ দিই। -
'silent'
: সম্ভব হলে অটো-রিউথন, যদি না হয় তবে মধ্যস্থতার প্রয়োজন ছাড়াই নীরবে ব্যর্থ। আমরা ডেডিকেটেড সাইন-ইন পৃষ্ঠা ছাড়া অন্য পৃষ্ঠাগুলিতে এই বিকল্পটি বেছে নেওয়ার সুপারিশ করি কিন্তু যেখানে আপনি ব্যবহারকারীদের সাইন ইন রাখতে চান—উদাহরণস্বরূপ, একটি শিপিং ওয়েবসাইটে একটি আইটেম পৃষ্ঠা বা একটি সংবাদ ওয়েবসাইটে একটি নিবন্ধ পৃষ্ঠা৷ -
'conditional'
: WebAuthn-এর জন্য ব্যবহৃত এবং এই মুহূর্তে FedCM-এর জন্য উপলব্ধ নয়।
এই কলের সাথে, অটো-রিউথন নিম্নলিখিত শর্তে ঘটে:
- FedCM ব্যবহার করার জন্য উপলব্ধ। উদাহরণস্বরূপ, ব্যবহারকারী বিশ্বব্যাপী বা সেটিংসে RP-এর জন্য FedCM-কে নিষ্ক্রিয় করেনি।
- ব্যবহারকারী এই ব্রাউজারে ওয়েবসাইটে সাইন ইন করতে FedCM API এর সাথে শুধুমাত্র একটি অ্যাকাউন্ট ব্যবহার করেছেন৷
- ব্যবহারকারী সেই অ্যাকাউন্ট দিয়ে আইডিপিতে সাইন ইন করেছেন।
- অটো-রিউথন শেষ 10 মিনিটের মধ্যে ঘটেনি।
- আরপি আগের সাইন ইন করার পর
navigator.credentials.preventSilentAccess()
কল করেনি।
উপরের শর্তগুলি পূরণ হলে, FedCM navigator.credentials.get()
ডাকার সাথে সাথে ব্যবহারকারীকে স্বয়ংক্রিয়ভাবে পুনরায় প্রমাণীকরণ করার একটি প্রচেষ্টা শুরু হয়।
preventSilentAccess()
দিয়ে মধ্যস্থতা প্রয়োগ করুন
ব্যবহারকারীরা সাইন আউট করার সাথে সাথেই স্বয়ংক্রিয়ভাবে পুনঃপ্রমাণিত করা একটি খুব ভাল ব্যবহারকারীর অভিজ্ঞতা তৈরি করবে না। এই কারণেই এই আচরণ প্রতিরোধ করার জন্য একটি স্বয়ংক্রিয়-রিউথনের পরে FedCM-এর 10-মিনিটের শান্ত সময় থাকে৷ এর মানে হল যে স্বয়ংক্রিয়-রিউথন প্রতি 10 মিনিটে একবারে ঘটে যদি না ব্যবহারকারী 10-মিনিটের মধ্যে আবার সাইন ইন করেন। RP-এর উচিত navigator.credentials.preventSilentAccess() কে কল করা উচিত ব্রাউজারকে স্বতঃ-রিউথন নিষ্ক্রিয় করার জন্য স্পষ্টভাবে অনুরোধ করার জন্য যখন কোনও ব্যবহারকারী স্পষ্টভাবে RP থেকে সাইন আউট করে, উদাহরণস্বরূপ, একটি সাইন-আউট বোতামে ক্লিক করে।
function signout() {
navigator.credentials.preventSilentAccess();
location.href = '/signout';
}
ব্যবহারকারীরা সেটিংসে অটো-রিউথন অপ্ট-আউট করতে পারেন
ব্যবহারকারীরা সেটিংস মেনু থেকে অটো-রিউথ থেকে অপ্ট-আউট করতে পারেন:
- ডেস্কটপ ক্রোমে,
chrome://password-manager/settings
এ যান > স্বয়ংক্রিয়ভাবে সাইন ইন করুন। - অ্যান্ড্রয়েড ক্রোমে, সেটিংস খুলুন > পাসওয়ার্ড ম্যানেজার > উপরের ডান কোণায় একটি কোগ-এ ট্যাপ করুন > স্বয়ংক্রিয় সাইন-ইন করুন।
টগল অক্ষম করে, ব্যবহারকারী একসাথে অটো-রিউথন আচরণ থেকে অপ্ট-আউট করতে পারেন। এই সেটিংটি ডিভাইস জুড়ে সঞ্চিত এবং সিঙ্ক্রোনাইজ করা হয়, যদি ব্যবহারকারী Chrome ইনস্ট্যান্সে একটি Google অ্যাকাউন্টে সাইন ইন করে থাকে এবং সিঙ্ক্রোনাইজেশন সক্ষম করা থাকে।
মতামত শেয়ার করুন
আপনি যদি FedCM পরীক্ষা করে থাকেন তাহলে আপনি crbug.com- এ "ব্লিঙ্ক>আইডেন্টিটি>ফেডসিএম" নামে একটি কম্পোনেন্টের অধীনে আপনার প্রতিক্রিয়া বা আপনার যে কোনো সমস্যা শেয়ার করতে পারেন।