বিবরণ
chrome.webAuthenticationProxy API, রিমোট হোস্টে চলা রিমোট ডেস্কটপ সফ্টওয়্যারকে ওয়েব অথেন্টিকেশন API (WebAuthn) অনুরোধ ইন্টারসেপ্ট করতে দেয় যাতে সেগুলি স্থানীয় ক্লায়েন্টে ম্যানেজ করা যায়।
অনুমতি
webAuthenticationProxyউপলভ্যতা
ধরন
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
-
requestInfo
-
onGetRequest
browser.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
WebAuthn navigator.credentials.get() কল হলে ফায়ার হয়। এক্সটেনশনকে অবশ্যই requestInfo থেকে requestId সহ completeGetRequest()-এ কল করে উত্তর দিতে হবে
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
browser.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() কল হলে ফায়ার করে। এক্সটেনশনকে অবশ্যই requestInfo থেকে requestId সহ completeIsUvpaaRequest()-এ কল করে উত্তর দিতে হবে
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
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
নম্বর
-