browser.webAuthenticationProxy

বিবরণ

chrome.webAuthenticationProxy API, রিমোট হোস্টে চলা রিমোট ডেস্কটপ সফ্টওয়্যারকে ওয়েব অথেন্টিকেশন API (WebAuthn) অনুরোধ ইন্টারসেপ্ট করতে দেয় যাতে সেগুলি স্থানীয় ক্লায়েন্টে ম্যানেজ করা যায়।

অনুমতি

webAuthenticationProxy

উপলভ্যতা

Chrome 115+ Chrome 148 থেকে browser.* MV3+

ধরন

CreateRequest

প্রপার্টি

  • requestDetailsJson

    স্ট্রিং

    PublicKeyCredentialCreationOptions, navigator.credentials.create()-এ পাস করা হয়েছে, JSON স্ট্রিং হিসেবে সিরিয়ালাইজ করা হয়েছে। সিরিয়ালাইজেশন ফর্ম্যাট PublicKeyCredential.parseCreationOptionsFromJSON()-এর সাথে মানানসই।

  • requestId

    নম্বর

    অনুরোধের জন্য একটি অস্বচ্ছ শনাক্তকারী।

CreateResponseDetails

প্রপার্টি

  • সমস্যা

    DOMExceptionDetails ঐচ্ছিক

    রিমোট অনুরোধের মাধ্যমে পাওয়া DOMException, যদি কিছু থাকে।

  • requestId

    নম্বর

    CreateRequest-এর requestId।

  • responseJson

    স্ট্রিং ঐচ্ছিক

    রিমোট অনুরোধের মাধ্যমে পাওয়া PublicKeyCredential, যদি থাকে, href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON() কল করে JSON স্ট্রিং হিসেবে সিরিয়ালাইজ করা হয়।

DOMExceptionDetails

প্রপার্টি

  • মেসেজ

    স্ট্রিং

  • নাম

    স্ট্রিং

GetRequest

প্রপার্টি

  • requestDetailsJson

    স্ট্রিং

    PublicKeyCredentialRequestOptions, navigator.credentials.get()-এ পাস করা হয়েছে, JSON স্ট্রিং হিসেবে সিরিয়ালাইজ করা হয়েছে। সিরিয়ালাইজেশন ফর্ম্যাট PublicKeyCredential.parseRequestOptionsFromJSON()-এর সাথে মানানসই।

  • requestId

    নম্বর

    অনুরোধের জন্য একটি অস্বচ্ছ শনাক্তকারী।

GetResponseDetails

প্রপার্টি

  • সমস্যা

    DOMExceptionDetails ঐচ্ছিক

    রিমোট অনুরোধের মাধ্যমে পাওয়া DOMException, যদি কিছু থাকে।

  • requestId

    নম্বর

    CreateRequest-এর requestId।

  • responseJson

    স্ট্রিং ঐচ্ছিক

    রিমোট অনুরোধের মাধ্যমে পাওয়া PublicKeyCredential, যদি থাকে, href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON() কল করে JSON স্ট্রিং হিসেবে সিরিয়ালাইজ করা হয়।

IsUvpaaRequest

প্রপার্টি

  • requestId

    নম্বর

    অনুরোধের জন্য একটি অস্বচ্ছ শনাক্তকারী।

IsUvpaaResponseDetails

প্রপার্টি

  • isUvpaa

    বুলিয়ান

  • requestId

    নম্বর

পদ্ধতি

attach()

browser.webAuthenticationProxy.attach(): Promise<string | undefined>

এই এক্সটেনশনকে অ্যাক্টিভ ওয়েব যাচাইকরণ API অনুরোধ প্রক্সি হিসেবে সেট করে।

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

অন্য এক্সটেনশন আগে থেকেই অ্যাটাচ করা থাকলে, এই পদ্ধতি কাজ করে না এবং সমস্যা দেখা দেয়।

নিয়মিত WebAuthn অনুরোধ প্রসেসিং আবার শুরু করার জন্য, রিমোট ডেস্কটপ সেশন শেষ হয়ে গেলে, অ্যাটাচ করা এক্সটেনশনকে অবশ্যই detach() কল করতে হবে। এক্সটেনশন আনলোড করা হলে তা অটোমেটিক ডিটাচ হয়ে যায়।

নেটিভ অ্যাপ্লিকেশন থেকে (সম্ভবত সাসপেন্ড করা) এক্সটেনশনে রিমোট সেশন অ্যাটাচমেন্টের পরিবর্তন সিগন্যাল করার জন্য onRemoteSessionStateChange ইভেন্ট দেখুন।

রিটার্ন

  • Promise<string | undefined>

completeCreateRequest()

browser.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
)
: Promise<void>

navigator.credentials.create() কলের ফলাফল রিপোর্ট করে। এক্সটেনশনকে অবশ্যই প্রতিটি onCreateRequest ইভেন্টের জন্য এটি কল করতে হবে, যদি না অনুরোধটি বাতিল করা হয় (যে ক্ষেত্রে, একটি onRequestCanceled ইভেন্ট ফায়ার করা হয়)।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

completeGetRequest()

browser.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
)
: Promise<void>

navigator.credentials.get() কলের ফলাফল রিপোর্ট করে। এক্সটেনশনকে অবশ্যই প্রতিটি onGetRequest ইভেন্টের জন্য এটি কল করতে হবে, যদি না অনুরোধটি বাতিল করা হয় (যে ক্ষেত্রে, একটি onRequestCanceled ইভেন্ট ফায়ার করা হয়)।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

completeIsUvpaaRequest()

browser.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
)
: Promise<void>

PublicKeyCredential.isUserVerifyingPlatformAuthenticator() কলের ফলাফল রিপোর্ট করে। এক্সটেনশনকে অবশ্যই প্রতিটি onIsUvpaaRequest ইভেন্টের জন্য এটি কল করতে হবে।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

detach()

browser.webAuthenticationProxy.detach(): Promise<string | undefined>

অ্যাক্টিভ ওয়েব যাচাইকরণ API অনুরোধ প্রক্সি থেকে এই এক্সটেনশন সরিয়ে দেয়।

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

নেটিভ অ্যাপ্লিকেশন থেকে (সম্ভবত সাসপেন্ড করা) এক্সটেনশনে রিমোট সেশন অ্যাটাচমেন্টের পরিবর্তন সিগন্যাল করার জন্য onRemoteSessionStateChange ইভেন্ট দেখুন।

রিটার্ন

  • Promise<string | undefined>

ইভেন্ট

onCreateRequest

browser.webAuthenticationProxy.onCreateRequest.addListener(
  callback: function,
)

WebAuthn navigator.credentials.create() কল হলে ফায়ার করে। এক্সটেনশনকে অবশ্যই requestInfo থেকে requestId সহ completeCreateRequest()-এ কল করে উত্তর দিতে হবে।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (requestInfo: CreateRequest) => void

onGetRequest

browser.webAuthenticationProxy.onGetRequest.addListener(
  callback: function,
)

WebAuthn navigator.credentials.get() কল হলে ফায়ার হয়। এক্সটেনশনকে অবশ্যই requestInfo থেকে requestId সহ completeGetRequest()-এ কল করে উত্তর দিতে হবে

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (requestInfo: GetRequest) => void

onIsUvpaaRequest

browser.webAuthenticationProxy.onIsUvpaaRequest.addListener(
  callback: function,
)

PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() কল হলে ফায়ার করে। এক্সটেনশনকে অবশ্যই requestInfo থেকে requestId সহ completeIsUvpaaRequest()-এ কল করে উত্তর দিতে হবে

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (requestInfo: IsUvpaaRequest) => void

onRemoteSessionStateChange

browser.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
  callback: function,
)

এই এক্সটেনশনের সাথে যুক্ত একটি নেটিভ অ্যাপ্লিকেশন এই ইভেন্টটি ঘটাতে পারে। এটি করার জন্য, এটি ডিফল্ট ব্যবহারকারীর ডেটা ডিরেক্টরি-এর মধ্যে WebAuthenticationProxyRemoteSessionStateChange নামের একটি ডিরেক্টরিতে এক্সটেনশনের আইডির সমান নামের একটি ফাইলে লেখে।

ফাইলের কন্টেন্ট খালি থাকতে হবে। অর্থাৎ, এই ইভেন্ট ট্রিগার করার জন্য ফাইলের কন্টেন্ট পরিবর্তন করার প্রয়োজন নেই।

এক্সটেনশন সার্ভিস ওয়ার্কার সম্ভবত সাসপেন্ড হয়ে গেলে, সম্ভাব্য রিমোট সেশন স্টেট পরিবর্তন (যেমন, ডিটাচ থেকে অ্যাটাচ বা উল্টোটা) সিগন্যাল করতে নেটিভ হোস্ট অ্যাপ্লিকেশন এই ইভেন্ট মেকানিজম ব্যবহার করতে পারে। এই ইভেন্টের হ্যান্ডলারে, এক্সটেনশন সেই অনুযায়ী attach() বা detach() API পদ্ধতি কল করতে পারে।

লোড করার সময় ইভেন্ট লিসনারকে অবশ্যই সিঙ্ক্রোনাসভাবে রেজিস্টার করতে হবে।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

onRequestCanceled

browser.webAuthenticationProxy.onRequestCanceled.addListener(
  callback: function,
)

onCreateRequest বা onGetRequest ইভেন্ট বাতিল করা হলে (কারণ, কলারের মাধ্যমে WebAuthn অনুরোধ বাতিল করা হয়েছে অথবা এটির সময়সীমা শেষ হয়ে গেছে) ফায়ার করে। এই ইভেন্টটি পাওয়ার সময়, এক্সটেনশনকে ক্লায়েন্ট সাইডে সংশ্লিষ্ট অনুরোধের প্রসেসিং বাতিল করতে হবে। কোনও অনুরোধ বাতিল করা হলে, এক্সটেনশন সেটি সম্পূর্ণ করতে পারে না।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (requestId: number) => void

    • requestId

      নম্বর