chrome.webAuthenticationProxy

ब्यौरा

chrome.webAuthenticationProxy एपीआई, किसी रिमोट होस्ट पर चल रहे रिमोट डेस्कटॉप सॉफ़्टवेयर को Web Authentication API (WebAuthn) के अनुरोधों को रोकने की अनुमति देता है, ताकि इन अनुरोधों को लोकल क्लाइंट पर हैंडल किया जा सके.

अनुमतियां

webAuthenticationProxy

उपलब्धता

Chrome 115 और इसके बाद के वर्शन 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

    boolean

  • requestId

    नंबर

तरीके

attach()

वादा
chrome.webAuthenticationProxy.attach(
  callback?: function,
)

इस एक्सटेंशन को चालू Web Authentication API अनुरोध प्रॉक्सी बनाता है.

आम तौर पर, रिमोट डेस्कटॉप एक्सटेंशन इस होस्ट से जुड़े रिमोट सेशन के अटैचमेंट का पता लगाने के बाद इस तरीके को कॉल करते हैं. जब यह तरीका बिना किसी गड़बड़ी के वापस आ जाता है, तो WebAuthn अनुरोधों की नियमित तौर पर प्रोसेसिंग निलंबित कर दी जाती है. साथ ही, इस एक्सटेंशन एपीआई के इवेंट की संख्या बढ़ाई जाती है.

अगर कोई दूसरा एक्सटेंशन पहले से अटैच है, तो यह तरीका गड़बड़ी के साथ काम नहीं करेगा.

अटैच किए गए एक्सटेंशन को रिमोट डेस्कटॉप सेशन खत्म होने के बाद detach() को कॉल करना होगा, ताकि WebAuthn के अनुरोधों की प्रोसेसिंग फिर से शुरू की जा सके. अनलोड होने पर, एक्सटेंशन अपने-आप डिटैच हो जाते हैं.

किसी नेटिव ऐप्लिकेशन से, शायद निलंबित हो चुके एक्सटेंशन में, रिमोट सेशन के अटैचमेंट को बदलने के सिग्नल के लिए, onRemoteSessionStateChange इवेंट देखें.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (error?: string)=>void

    • गड़बड़ी

      स्ट्रिंग ज़रूरी नहीं

रिटर्न

  • प्रॉमिस<string|undefined>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

completeCreateRequest()

वादा
chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
  callback?: function,
)

यह navigator.credentials.create() कॉल के नतीजे की रिपोर्ट करता है. एक्सटेंशन को इसे मिलने वाले हर onCreateRequest इवेंट के लिए, इसे तब तक कॉल करना चाहिए, जब तक अनुरोध रद्द न किया गया हो (उस स्थिति में, एक onRequestCanceled इवेंट सक्रिय हो जाता है).

पैरामीटर

  • विवरण
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

completeGetRequest()

वादा
chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
  callback?: function,
)

यह navigator.credentials.get() कॉल के नतीजे की रिपोर्ट करता है. एक्सटेंशन को इसे मिलने वाले हर onGetRequest इवेंट के लिए, इसे तब तक कॉल करना चाहिए, जब तक अनुरोध रद्द न किया गया हो (उस स्थिति में, एक onRequestCanceled इवेंट सक्रिय हो जाता है).

पैरामीटर

  • विवरण
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

completeIsUvpaaRequest()

वादा
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
  callback?: function,
)

यह PublicKeyCredential.isUserVerifyingPlatformAuthenticator() कॉल के नतीजे की रिपोर्ट करता है. एक्सटेंशन को इसे मिले हर onIsUvpaaRequest इवेंट के लिए, इसे कॉल करना चाहिए.

पैरामीटर

  • विवरण
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

detach()

वादा
chrome.webAuthenticationProxy.detach(
  callback?: function,
)

इस एक्सटेंशन को वेब पुष्टि एपीआई अनुरोध के लिए इस्तेमाल होने वाले प्रॉक्सी से हटाता है.

आम तौर पर, इस तरीके को तब कॉल किया जाता है, जब एक्सटेंशन को यह पता चलता है कि किसी रिमोट डेस्कटॉप सेशन को खत्म किया गया था. इस तरीके से पुष्टि करने के बाद, यह एक्सटेंशन, Web Authentication API अनुरोध के लिए चालू प्रॉक्सी के तौर पर दिखना बंद हो जाता है.

किसी नेटिव ऐप्लिकेशन से, शायद निलंबित हो चुके एक्सटेंशन में, रिमोट सेशन के अटैचमेंट को बदलने के सिग्नल के लिए, onRemoteSessionStateChange इवेंट देखें.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (error?: string)=>void

    • गड़बड़ी

      स्ट्रिंग ज़रूरी नहीं

रिटर्न

  • प्रॉमिस<string|undefined>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

इवेंट

onCreateRequest

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

WebAuthn navigator.credentials.create() कॉल होने पर ट्रिगर होता है. एक्सटेंशन को requestInfo से requestId के साथ completeCreateRequest() को कॉल करके जवाब देना होगा.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (requestInfo: CreateRequest)=>void

onGetRequest

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

WebAuthn navgator.क्रेडेंशियल.get() कॉल होने पर ट्रिगर होता है. एक्सटेंशन को requestInfo से requestId के साथ completeGetRequest() को कॉल करके जवाब देना होगा

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (requestInfo: GetRequest)=>void

onIsUvpaaRequest

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

PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() कॉल होने पर ट्रिगर होता है. एक्सटेंशन को requestInfo से requestId के साथ completeIsUvpaaRequest() को कॉल करके जवाब देना होगा

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (requestInfo: IsUvpaaRequest)=>void

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

      नंबर