browser.webAuthenticationProxy

คำอธิบาย

chrome.webAuthenticationProxy API ช่วยให้ซอฟต์แวร์เดสก์ท็อประยะไกลที่ทำงานบนโฮสต์ระยะไกลสามารถสกัดกั้นคำขอ Web Authentication API (WebAuthn) เพื่อจัดการคำขอเหล่านั้นในไคลเอ็นต์ในเครื่องได้

สิทธิ์

webAuthenticationProxy

ความพร้อมใช้งาน

Chrome 115 ขึ้นไป เบราว์เซอร์* ตั้งแต่ Chrome 148 MV3 ขึ้นไป

ประเภท

CreateRequest

พร็อพเพอร์ตี้

  • requestDetailsJson

    สตริง

    PublicKeyCredentialCreationOptions ที่ส่งไปยัง navigator.credentials.create() ซึ่งเรียงลำดับเป็นสตริง JSON รูปแบบการจัดลำดับข้อมูลเข้ากันได้กับ PublicKeyCredential.parseCreationOptionsFromJSON()

  • requestId

    ตัวเลข

    ตัวระบุทึบแสงสำหรับคำขอ

CreateResponseDetails

พร็อพเพอร์ตี้

  • ข้อผิดพลาด

    DOMExceptionDetails ไม่บังคับ

    DOMException ที่ได้จากคำขอระยะไกล (หากมี)

  • requestId

    ตัวเลข

    requestId ของ CreateRequest

  • responseJson

    สตริง ไม่บังคับ

    PublicKeyCredential ที่ได้จากคำขอระยะไกล (หากมี) ซึ่งได้รับการจัดรูปแบบเป็นสตริง JSON โดยการเรียก href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON()

DOMExceptionDetails

พร็อพเพอร์ตี้

  • ข้อความ

    สตริง

  • name

    สตริง

GetRequest

พร็อพเพอร์ตี้

  • requestDetailsJson

    สตริง

    PublicKeyCredentialRequestOptions ที่ส่งไปยัง navigator.credentials.get() ซึ่งเรียงลำดับเป็นสตริง JSON รูปแบบการจัดลำดับข้อมูลเข้ากันได้กับ PublicKeyCredential.parseRequestOptionsFromJSON()

  • requestId

    ตัวเลข

    ตัวระบุทึบแสงสำหรับคำขอ

GetResponseDetails

พร็อพเพอร์ตี้

  • ข้อผิดพลาด

    DOMExceptionDetails ไม่บังคับ

    DOMException ที่ได้จากคำขอระยะไกล (หากมี)

  • requestId

    ตัวเลข

    requestId ของ CreateRequest

  • responseJson

    สตริง ไม่บังคับ

    PublicKeyCredential ที่ได้จากคำขอระยะไกล (หากมี) ซึ่งได้รับการจัดรูปแบบเป็นสตริง JSON โดยการเรียก href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON()

IsUvpaaRequest

พร็อพเพอร์ตี้

  • requestId

    ตัวเลข

    ตัวระบุทึบแสงสำหรับคำขอ

IsUvpaaResponseDetails

พร็อพเพอร์ตี้

  • isUvpaa

    บูลีน

  • requestId

    ตัวเลข

เมธอด

attach()

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

ทำให้ส่วนขยายนี้เป็นพร็อกซีคำขอ API การตรวจสอบสิทธิ์บนเว็บที่ใช้งานอยู่

โดยปกติแล้ว ส่วนขยายเดสก์ท็อประยะไกลจะเรียกใช้เมธอดนี้หลังจากตรวจพบการแนบเซสชันระยะไกลกับโฮสต์นี้ เมื่อเมธอดนี้แสดงผลโดยไม่มีข้อผิดพลาด ระบบจะระงับการประมวลผลคำขอ WebAuthn ตามปกติ และจะแสดงเหตุการณ์จาก API ส่วนขยายนี้

เมธอดนี้จะดำเนินการไม่สำเร็จและแสดงข้อผิดพลาดหากมีการแนบส่วนขยายอื่นอยู่แล้ว

ส่วนขยายที่แนบมาต้องเรียกใช้ detach() เมื่อเซสชันเดสก์ท็อประยะไกลสิ้นสุดลงเพื่อกลับมาประมวลผลคำขอ WebAuthn ตามปกติ ส่วนขยายจะแยกออกโดยอัตโนมัติหากมีการยกเลิกการโหลด

โปรดดูเหตุการณ์ onRemoteSessionStateChange เพื่อส่งสัญญาณการเปลี่ยนแปลงไฟล์แนบเซสชันระยะไกลจากแอปพลิเคชันแบบเนทีฟไปยังส่วนขยาย (ที่อาจถูกระงับ)

การคืนสินค้า

  • Promise<string | undefined>

completeCreateRequest()

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

รายงานผลลัพธ์ของการเรียก navigator.credentials.create() ส่วนขยายต้องเรียกใช้เมธอดนี้สำหรับทุกเหตุการณ์ onCreateRequest ที่ได้รับ เว้นแต่คำขอจะถูกยกเลิก (ซึ่งในกรณีนี้ ระบบจะเริ่มเหตุการณ์ onRequestCanceled)

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

completeGetRequest()

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

รายงานผลลัพธ์ของการเรียก navigator.credentials.get() ส่วนขยายต้องเรียกใช้เมธอดนี้สำหรับทุกเหตุการณ์ onGetRequest ที่ได้รับ เว้นแต่คำขอจะถูกยกเลิก (ซึ่งในกรณีนี้ ระบบจะเริ่มเหตุการณ์ onRequestCanceled)

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

completeIsUvpaaRequest()

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

รายงานผลลัพธ์ของการเรียก PublicKeyCredential.isUserVerifyingPlatformAuthenticator() ส่วนขยายต้องเรียกใช้เมธอดนี้สำหรับทุกเหตุการณ์ onIsUvpaaRequest ที่ได้รับ

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

detach()

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

นำส่วนขยายนี้ออกจากการเป็นพร็อกซีคำขอ Web Authentication API ที่ใช้งานอยู่

โดยปกติแล้ว ระบบจะเรียกใช้เมธอดนี้เมื่อส่วนขยายตรวจพบว่าเซสชันเดสก์ท็อประยะไกลสิ้นสุดลง เมื่อเมธอดนี้แสดงผล ส่วนขยายจะหยุดเป็นพร็อกซีคำขอ API Web Authentication ที่ใช้งานอยู่

โปรดดูเหตุการณ์ onRemoteSessionStateChange เพื่อส่งสัญญาณการเปลี่ยนแปลงไฟล์แนบเซสชันระยะไกลจากแอปพลิเคชันแบบเนทีฟไปยังส่วนขยาย (ที่อาจถูกระงับ)

การคืนสินค้า

  • Promise<string | undefined>

กิจกรรม

onCreateRequest

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

เริ่มทำงานเมื่อมีการเรียกใช้ WebAuthn navigator.credentials.create() ส่วนขยายต้องให้การตอบกลับโดยเรียกใช้ completeCreateRequest() ด้วย requestId จาก requestInfo

พารามิเตอร์

  • callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (requestInfo: CreateRequest) => void

onGetRequest

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

เริ่มทำงานเมื่อมีการเรียกใช้ WebAuthn navigator.credentials.get() ส่วนขยายต้องให้การตอบกลับโดยเรียกใช้ completeGetRequest() ด้วย requestId จาก requestInfo

พารามิเตอร์

  • callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (requestInfo: GetRequest) => void

onIsUvpaaRequest

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

เริ่มทำงานเมื่อมีการโทร PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() ส่วนขยายต้องให้การตอบกลับโดยเรียกใช้ completeIsUvpaaRequest() ด้วย requestId จาก requestInfo

พารามิเตอร์

  • callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (requestInfo: IsUvpaaRequest) => void

onRemoteSessionStateChange

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

แอปพลิเคชันแบบเนทีฟที่เชื่อมโยงกับส่วนขยายนี้อาจทำให้เหตุการณ์นี้เริ่มทำงานโดยการเขียนลงในไฟล์ที่มีชื่อตรงกับรหัสของส่วนขยายในไดเรกทอรีชื่อ WebAuthenticationProxyRemoteSessionStateChange ภายในไดเรกทอรีข้อมูลผู้ใช้เริ่มต้น

เนื้อหาของไฟล์ควรว่างเปล่า กล่าวคือ คุณไม่จำเป็นต้องเปลี่ยนเนื้อหาของไฟล์เพื่อทริกเกอร์เหตุการณ์นี้

แอปพลิเคชันโฮสต์แบบเนทีฟอาจใช้กลไกเหตุการณ์นี้เพื่อส่งสัญญาณการเปลี่ยนแปลงสถานะเซสชันระยะไกลที่เป็นไปได้ (เช่น จากแยกออกเป็นแนบ หรือในทางกลับกัน) ขณะที่ Service Worker ของส่วนขยายอาจถูกระงับ ในเครื่องจัดการสำหรับเหตุการณ์นี้ ส่วนขยายจะเรียกใช้เมธอด API attach() หรือ detach() ได้ตามความเหมาะสม

ต้องลงทะเบียน Listener เหตุการณ์พร้อมกันในเวลาโหลด

พารามิเตอร์

  • callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    () => void

onRequestCanceled

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

เริ่มทำงานเมื่อเหตุการณ์ onCreateRequest หรือ onGetRequest ถูกยกเลิก (เนื่องจากคำขอ WebAuthn ถูกยกเลิกโดยผู้เรียก หรือเนื่องจากหมดเวลา) เมื่อได้รับเหตุการณ์นี้ ส่วนขยายควรยกเลิกการประมวลผลคำขอที่เกี่ยวข้องในฝั่งไคลเอ็นต์ ส่วนขยายจะดำเนินการตามคำขอให้เสร็จสมบูรณ์ไม่ได้เมื่อมีการยกเลิก

พารามิเตอร์

  • callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (requestId: number) => void

    • requestId

      ตัวเลข