ब्यौरा
chrome.webAuthenticationProxy
एपीआई की मदद से, रिमोट होस्ट पर चल रहा रिमोट डेस्कटॉप सॉफ़्टवेयर, वेब ऑथेंटिकेशन एपीआई (WebAuthn) के अनुरोधों को इंटरसेप्ट कर सकता है. ऐसा इसलिए किया जाता है, ताकि उन्हें लोकल क्लाइंट पर मैनेज किया जा सके.
अनुमतियां
webAuthenticationProxy
उपलब्धता
टाइप
CreateRequest
प्रॉपर्टी
-
requestDetailsJson
स्ट्रिंग
PublicKeyCredentialCreationOptions
कोnavigator.credentials.create()
में पास किया गया है. इसे JSON स्ट्रिंग के तौर पर क्रम से लगाया गया है. सीरियलाइज़ेशन फ़ॉर्मैट,PublicKeyCredential.parseCreationOptionsFromJSON()
के साथ काम करता है. -
requestId
संख्या
अनुरोध के लिए ओपेक आइडेंटिफ़ायर.
CreateResponseDetails
प्रॉपर्टी
-
गड़बड़ी
DOMExceptionDetails optional
अगर रिमोट अनुरोध से कोई
DOMException
मिला है, तो उसकी जानकारी. -
requestId
संख्या
CreateRequest
काrequestId
. -
responseJson
string ज़रूरी नहीं है
रिमोट अनुरोध से मिला
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 optional
अगर रिमोट अनुरोध से कोई
DOMException
मिला है, तो उसकी जानकारी. -
requestId
संख्या
CreateRequest
काrequestId
. -
responseJson
string ज़रूरी नहीं है
रिमोट अनुरोध से मिला
PublicKeyCredential
, अगर कोई है, तो href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
को कॉल करके JSON स्ट्रिंग के तौर पर क्रमबद्ध किया जाता है.
IsUvpaaRequest
प्रॉपर्टी
-
requestId
संख्या
अनुरोध के लिए ओपेक आइडेंटिफ़ायर.
IsUvpaaResponseDetails
प्रॉपर्टी
-
isUvpaa
बूलियन
-
requestId
संख्या
तरीके
attach()
chrome.webAuthenticationProxy.attach(): Promise<string | undefined>
इस एक्सटेंशन को, Web Authentication API के अनुरोध की प्रॉक्सी के तौर पर चालू करता है.
रिमोट डेस्कटॉप एक्सटेंशन आम तौर पर इस तरीके को तब कॉल करते हैं, जब उन्हें पता चलता है कि इस होस्ट से कोई रिमोट सेशन अटैच किया गया है. जब यह तरीका बिना किसी गड़बड़ी के काम करता है, तब WebAuthn अनुरोधों की सामान्य प्रोसेसिंग बंद हो जाती है. साथ ही, इस एक्सटेंशन एपीआई से इवेंट ट्रिगर होते हैं.
अगर कोई दूसरा एक्सटेंशन पहले से अटैच है, तो इस तरीके से गड़बड़ी होती है.
अटैच किए गए एक्सटेंशन को, रिमोट डेस्कटॉप सेशन खत्म होने के बाद detach()
को कॉल करना होगा, ताकि WebAuthn के अनुरोधों को प्रोसेस करने की सामान्य प्रक्रिया फिर से शुरू की जा सके. अनलोड किए जाने पर एक्सटेंशन अपने-आप अलग हो जाते हैं.
onRemoteSessionStateChange
इवेंट का इस्तेमाल, रिमोट सेशन अटैचमेंट को नेटिव ऐप्लिकेशन से (शायद निलंबित किए गए) एक्सटेंशन में बदलने के लिए किया जाता है.
रिटर्न
-
Promise<string | undefined>
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
): Promise<void>
यह कुकी, navigator.credentials.create()
कॉल के नतीजे की रिपोर्ट करती है. एक्सटेंशन को हर onCreateRequest
इवेंट के लिए इसे कॉल करना होगा. हालांकि, अगर अनुरोध रद्द कर दिया गया है, तो ऐसा नहीं करना होगा. ऐसे मामले में, onRequestCanceled
इवेंट ट्रिगर होता है.
पैरामीटर
-
विवरण
रिटर्न
-
Promise<void>
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
): Promise<void>
यह कुकी, navigator.credentials.get()
कॉल के नतीजे की रिपोर्ट करती है. एक्सटेंशन को हर onGetRequest
इवेंट के लिए इसे कॉल करना होगा. हालांकि, अगर अनुरोध रद्द कर दिया गया है, तो ऐसा नहीं करना होगा. ऐसे मामले में, onRequestCanceled
इवेंट ट्रिगर होता है.
पैरामीटर
-
विवरण
रिटर्न
-
Promise<void>
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
): Promise<void>
यह कुकी, PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
कॉल के नतीजे की रिपोर्ट करती है. एक्सटेंशन को यह तरीका, मिले हुए हर onIsUvpaaRequest
इवेंट के लिए कॉल करना होगा.
पैरामीटर
-
विवरण
रिटर्न
-
Promise<void>
detach()
chrome.webAuthenticationProxy.detach(): Promise<string | undefined>
इस एक्सटेंशन को, Web Authentication API के अनुरोध की प्रॉक्सी के तौर पर इस्तेमाल होने से रोकता है.
आम तौर पर, इस तरीके का इस्तेमाल तब किया जाता है, जब एक्सटेंशन को पता चलता है कि रिमोट डेस्कटॉप सेशन बंद हो गया है. इस तरीके के पूरा होने के बाद, एक्सटेंशन Web Authentication API के अनुरोध के लिए प्रॉक्सी के तौर पर काम नहीं करता.
onRemoteSessionStateChange
इवेंट का इस्तेमाल, रिमोट सेशन अटैचमेंट को नेटिव ऐप्लिकेशन से (शायद निलंबित किए गए) एक्सटेंशन में बदलने के लिए किया जाता है.
रिटर्न
-
Promise<string | undefined>
इवेंट
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
यह कुकी, WebAuthn navigator.credentials.create()
कॉल होने पर ट्रिगर होती है. एक्सटेंशन को completeCreateRequest()
से मिले requestId
के साथ completeCreateRequest()
को कॉल करके जवाब देना होगा.requestInfo
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
यह तब ट्रिगर होता है, जब WebAuthn navigator.credentials.get() कॉल होता है. एक्सटेंशन को completeGetRequest()
को कॉल करके जवाब देना होगा. इसके लिए, requestInfo
से मिले requestId
का इस्तेमाल करना होगा
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
chrome.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
कॉल होने पर यह इवेंट ट्रिगर होता है. एक्सटेंशन को completeIsUvpaaRequest()
को कॉल करके जवाब देना होगा. इसके लिए, requestInfo
से मिले requestId
का इस्तेमाल करना होगा
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
इस एक्सटेंशन से जुड़ा कोई नेटिव ऐप्लिकेशन, इस इवेंट को ट्रिगर कर सकता है. इसके लिए, उसे डिफ़ॉल्ट उपयोगकर्ता डेटा डायरेक्ट्री में मौजूद WebAuthenticationProxyRemoteSessionStateChange
डायरेक्ट्री में, एक्सटेंशन के आईडी के बराबर नाम वाली फ़ाइल में लिखना होगा
फ़ाइल का कॉन्टेंट खाली होना चाहिए. इसका मतलब है कि इस इवेंट को ट्रिगर करने के लिए, फ़ाइल के कॉन्टेंट में बदलाव करना ज़रूरी नहीं है.
नेटिव होस्ट ऐप्लिकेशन, इस इवेंट मैकेनिज़्म का इस्तेमाल करके रिमोट सेशन की स्थिति में संभावित बदलाव (यानी कि अलग किए गए से अटैच किए गए या इसके उलट) का सिग्नल दे सकता है. ऐसा तब किया जाता है, जब एक्सटेंशन सर्विस वर्कर को निलंबित कर दिया गया हो. इस इवेंट के हैंडलर में, एक्सटेंशन attach()
या detach()
एपीआई के तरीकों को कॉल कर सकता है.
इवेंट लिसनर को लोड होने के समय सिंक्रोनस तरीके से रजिस्टर किया जाना चाहिए.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:() => void
onRequestCanceled
chrome.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब onCreateRequest
या onGetRequest
इवेंट रद्द कर दिया जाता है. ऐसा तब होता है, जब WebAuthn अनुरोध को कॉल करने वाले व्यक्ति ने बंद कर दिया हो या जब अनुरोध का समय खत्म हो गया हो. इस इवेंट को पाने पर, एक्सटेंशन को क्लाइंट साइड पर, मिलते-जुलते अनुरोध को प्रोसेस करना बंद कर देना चाहिए. अनुरोध रद्द होने के बाद, एक्सटेंशन उसे पूरा नहीं कर सकते.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(requestId: number) => void
-
requestId
संख्या
-