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