chrome.webAuthenticationProxy

คำอธิบาย

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

สิทธิ์

webAuthenticationProxy

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

Chrome 115 ขึ้นไป 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

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

  • ข้อความ

    สตริง

  • ชื่อ

    สตริง

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()

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

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

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

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

ส่วนขยายที่แนบมาต้องเรียกใช้ 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 จาก requestInfo

พารามิเตอร์

  • callback

    ฟังก์ชัน

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

    (requestInfo: CreateRequest) => void

onGetRequest

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

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

พารามิเตอร์

  • callback

    ฟังก์ชัน

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

    (requestInfo: GetRequest) => void

onIsUvpaaRequest

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

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

พารามิเตอร์

  • callback

    ฟังก์ชัน

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

    (requestInfo: IsUvpaaRequest) => void

onRemoteSessionStateChange

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

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

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

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

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

พารามิเตอร์

  • callback

    ฟังก์ชัน

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

    () => void

onRequestCanceled

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

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

พารามิเตอร์

  • callback

    ฟังก์ชัน

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

    (requestId: number) => void

    • requestId

      ตัวเลข