ব্যবহারকারীদের আরও নির্বিঘ্নে পাসকিগুলি গ্রহণ করতে সহায়তা করুন

প্রকাশিত: মে 09, 2025

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

এটা কিভাবে কাজ করে

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

নিম্নলিখিত শর্তগুলি পূরণ হলে এই প্রবাহ কাজ করে:

  • ব্যবহারকারীর ডিফল্ট পাসওয়ার্ড ম্যানেজারে একটি সংরক্ষিত পাসওয়ার্ড আছে।
  • পাসওয়ার্ডটি সম্প্রতি ব্যবহার করা হয়েছে। আদর্শভাবে, একটি সফল পাসওয়ার্ড-ভিত্তিক লগইন করার সাথে সাথেই শর্তসাপেক্ষ তৈরি করুন কল করুন।

উভয় শর্ত পূরণ হলে, আপনি শর্তসাপেক্ষ তৈরি করুন কল করে ব্যবহারকারীর জন্য একটি পাসকি তৈরি করার জন্য পাসওয়ার্ড পরিচালককে অনুরোধ করতে পারেন। সফলভাবে পাসকি তৈরি করার পরে, ব্যবহারকারীকে পাসওয়ার্ড ম্যানেজারের উপর নির্ভর করে অবহিত করা হয়।

শর্তসাপেক্ষ তৈরির সাথে পাসকি অনুরোধের প্রবাহ।

সামঞ্জস্য

কন্ডিশনাল ক্রিয়েট ম্যাকওএস এবং আইওএস-এ সাফারি , সেইসাথে ডেস্কটপে ক্রোম দ্বারা সমর্থিত।

শর্তসাপেক্ষ তৈরি করুন

স্বয়ংক্রিয় পাসকি তৈরি একটি WebAuthn API বৈশিষ্ট্যের উপর ভিত্তি করে যার নাম শর্তসাপেক্ষ তৈরি করুন । এইগুলি হল নিয়মিত WebAuthn create() অনুরোধ যার mediation পরামিতি "conditional" সেট করা হয় যা get() অনুরোধের জন্য পাসকি অটোফিলের মতোই কাজ করে।

ব্যবহারকারী পাসওয়ার্ড দিয়ে সাইন ইন করার পরে শর্তসাপেক্ষ তৈরি করুন ব্যবহার করুন। নির্মাণ সফল হবে কিনা তা নির্ভর করে পাসওয়ার্ড ম্যানেজার এবং কিছু শর্ত পূরণের উপর। এই শর্তাবলী পাসওয়ার্ড ম্যানেজার দ্বারা পরিবর্তিত হতে পারে এবং সময়ের সাথে সাথে পরিবর্তিত হতে পারে। উদাহরণস্বরূপ, Google পাসওয়ার্ড ম্যানেজার (GPM) সহ Chrome-এ, ব্যবহারকারীকে সাইটের জন্য একটি সংরক্ষিত পাসওয়ার্ড ব্যবহার করে সম্প্রতি সাইন ইন করতে হবে।

ব্রাউজার সফলভাবে পাসকি তৈরি করলে, এটি একটি সর্বজনীন কী শংসাপত্র প্রদান করে। নিবন্ধন সম্পূর্ণ করতে এবং ভবিষ্যতে প্রমাণীকরণ সক্ষম করতে এই শংসাপত্রটি আপনার ব্যাকএন্ডে পাঠান

বৈশিষ্ট্য সনাক্তকরণ

আপনি PublicKeyCredential.getClientCapabilities() ব্যবহার করে ব্রাউজারে শর্তসাপেক্ষ তৈরি করা উপলব্ধ কিনা তা নির্ধারণ করতে পারেন। একটি প্রত্যাবর্তিত বস্তু conditionalCreate সম্পত্তির জন্য true আছে কিনা দেখুন।

if (window.PublicKeyCredential && PublicKeyCredential.getClientCapabilities) {
  const capabilities = await PublicKeyCredential.getClientCapabilities();
  if (capabilities.conditionalCreate) {
    // Conditional create is available
  }
}

যদি getClientCapabilities অনুপলব্ধ হয়, তাহলে শর্তসাপেক্ষ তৈরি করাও অনুপলব্ধ।

শর্তসাপেক্ষে একটি পাসকি তৈরি করুন

একটি স্বয়ংক্রিয় পাসকি তৈরি করতে, navigator.credentials.create() আহ্বান করুন তবে mediation: "conditional" এর মতো।

const cred = await navigator.credentials.create({
  publicKey: options,
  // Request conditional creation
  mediation: 'conditional'
});

স্বয়ংক্রিয় তৈরির জন্য পাসওয়ার্ড ম্যানেজার মানদণ্ড পূরণ করার সর্বোত্তম সুযোগ পেতে আপনার ব্যবহারকারী সাইন ইন করার সাথে সাথেই আপনার স্বয়ংক্রিয় পাসকি তৈরি ব্যবহার করা উচিত।

আপনি পাসকি যাচাই এবং নিবন্ধন করতে সার্ভারে ফলাফল পাবলিক কী শংসাপত্র পাঠাতে পারেন। সার্ভারে, ব্যবহারকারী সাইন ইন করেছেন তা নিশ্চিত করুন৷

সতর্কতা

শর্তসাপেক্ষে তৈরি করা নিজেই বাস্তবায়ন করা কঠিন নয়, তবে এই বৈশিষ্ট্যটিকে একটি বিদ্যমান সিস্টেমে একত্রিত করার সময় বেশ কয়েকটি সতর্কতা রয়েছে।

সার্ভারে ব্যবহারকারীর উপস্থিতি এবং ব্যবহারকারী যাচাই উপেক্ষা করুন

নিবন্ধন প্রতিক্রিয়া "ব্যবহারকারীর উপস্থিতি" এবং "ব্যবহারকারী যাচাইকৃত" উভয়কেই false হিসাবে প্রদান করে, তাই সার্ভারের শংসাপত্র যাচাইকরণের সময় এই পতাকাগুলিকে উপেক্ষা করা উচিত

একটি স্বয়ংক্রিয় পাসকি তৈরি করার আগে চলমান WebAuthn কল বাতিল করুন৷

যখন RP আশা করে যে ব্যবহারকারী একটি পাসকি বা পাসওয়ার্ড দিয়ে সাইন ইন করবে, তখন শর্তসাপেক্ষে প্রাপ্তি করাই হল সেরা পছন্দ ৷ এটি একটি শর্তসাপেক্ষ তৈরি করার আগে কন্ডিশনাল গেট কল বাতিল করতে পারে।

এটি করার জন্য, আপনাকে AbortController ব্যবহার করতে হবে এবং .abort() কল করতে হবে।

// To abort a WebAuthn call, instantiate an AbortController.
const controller = new AbortController();

const cred = await navigator.credentials.get({
  publicKey: options,
  signal: controller.signal,
  // Request conditional get
  mediation: 'conditional'
});

// Abort the call
controller.abort();

ব্যতিক্রমগুলি সুন্দরভাবে উপেক্ষা করুন

যখন একটি শর্তসাপেক্ষ পাসকি তৈরি করা হয়, তখন কয়েকটি ক্ষেত্রে আপনার ব্যতিক্রমগুলি উপেক্ষা করা উচিত:

  • InvalidStateError : একটি পাসকি ইতিমধ্যেই পাসকি প্রদানকারীতে বিদ্যমান ( excludeCredentials উল্লেখ করতে ভুলবেন না)।
  • NotAllowedError : একটি পাসকি তৈরি করা শর্ত পূরণ করে না।
  • AbortError : WebAuthn কল বাতিল করা হয়েছে।

এই ক্ষেত্রে ত্রুটিগুলি প্রদর্শন করা ব্যবহারকারীকে বিভ্রান্ত করতে পারে কারণ ব্রাউজারটি নীরবে সেগুলি পরিচালনা করে: এটি শুধুমাত্র সাফল্যের উপর একটি বিজ্ঞপ্তি দেখায় এবং ব্যর্থতা দৃশ্যমান বার্তাগুলিকে ট্রিগার করে না৷

একটি পাসকি নিবন্ধন ব্যর্থ হলে সংকেত

যখন একটি পাসকি তৈরি করা হয় কিন্তু সার্ভারে নিবন্ধিত হতে ব্যর্থ হয়, তখন ব্যবহারকারী একটি ব্যর্থ সাইন-ইন প্রচেষ্টা অনুভব করবেন৷ এটি ঘটতে পারে যখন পাসকিগুলির তালিকা পাসকি প্রদানকারী এবং সার্ভারের মধ্যে অসামঞ্জস্যপূর্ণ হয়৷

এই ধরনের পরিস্থিতি এড়াতে, তাদের সামঞ্জস্য রাখতে সিগন্যাল API ব্যবহার করুন

পাসওয়ার্ডহীন সাইন-ইন থেকে আপগ্রেড করা সমর্থিত নয়

এই মুহুর্তে, শর্তসাপেক্ষে একটি পাসকি তৈরি করা ব্যবহারকারীর একটি বৈধ পাসওয়ার্ড প্রবেশের পিছনে গেট করা হয়। এর মানে পাসওয়ার্ডহীন সাইন-ইন পদ্ধতি যেমন ম্যাজিক লিঙ্ক, ফোন নম্বর যাচাই বা পরিচয় ফেডারেশন শর্ত পূরণ করবে না।

সারাংশ

স্বয়ংক্রিয় পাসকি তৈরি আপনার ওয়েবসাইটে পাসকি গ্রহণকে ত্বরান্বিত করতে পারে, ব্যবহারকারীদের আপনার ওয়েবসাইটের ব্যবহারকারীদের পাসওয়ার্ড থেকে আরও নিরাপদ প্রমাণীকরণ পদ্ধতিতে রূপান্তর করতে সহায়তা করে।

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