chrome.webAuthenticationProxy

คำอธิบาย

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

สิทธิ์

webAuthenticationProxy

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

Chrome 115 ขึ้นไป MV3 ขึ้นไป

ประเภท

CreateRequest

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

  • requestDetailsJson

    สตริง

    ผ่าน PublicKeyCredentialCreationOptions ไปยัง navigator.credentials.create() แล้ว โดยเรียงลำดับเป็นสตริง JSON รูปแบบการเรียงอันดับใช้ได้กับ PublicKeyCredential.parseCreationOptionsFromJSON()

  • requestId

    ตัวเลข

    ตัวระบุที่คลุมเครือสำหรับคำขอ

CreateResponseDetails

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

  • ข้อผิดพลาด

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

  • requestId

    ตัวเลข

    requestId ของ CreateRequest

  • responseJson

    string ไม่บังคับ

    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

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

  • ข้อผิดพลาด

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

  • requestId

    ตัวเลข

    requestId ของ CreateRequest

  • responseJson

    string ไม่บังคับ

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

IsUvpaaRequest

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

  • requestId

    ตัวเลข

    ตัวระบุที่คลุมเครือสำหรับคำขอ

IsUvpaaResponseDetails

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

  • isUvpaa

    boolean

  • requestId

    ตัวเลข

เมธอด

attach()

สัญญา
chrome.webAuthenticationProxy.attach(
  callback?: function,
)

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

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

วิธีนี้ใช้งานไม่ได้โดยมีข้อผิดพลาด หากมีส่วนขยายอื่นแนบอยู่แล้ว

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

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

พารามิเตอร์

  • Callback

    ไม่บังคับ

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

    (error?: string) => void

    • ข้อผิดพลาด

      string ไม่บังคับ

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

  • คำมั่นสัญญา<สตริง | ไม่ระบุ>

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

completeCreateRequest()

สัญญา
chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด
  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำมั่นสัญญา<โมฆะ>

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

completeGetRequest()

สัญญา
chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด
  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำมั่นสัญญา<โมฆะ>

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

completeIsUvpaaRequest()

สัญญา
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด
  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำมั่นสัญญา<โมฆะ>

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

detach()

สัญญา
chrome.webAuthenticationProxy.detach(
  callback?: function,
)

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

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

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

พารามิเตอร์

  • Callback

    ไม่บังคับ

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

    (error?: string) => void

    • ข้อผิดพลาด

      string ไม่บังคับ

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

  • คำมั่นสัญญา<สตริง | ไม่ระบุ>

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

กิจกรรม

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

เริ่มทำงานเมื่อมีการเรียกใช้ WebAuthn navigator.credentials.get() ส่วนขยายต้องแสดงคำตอบโดยการเรียกใช้ 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 ภายในไดเรกทอรีข้อมูลผู้ใช้เริ่มต้น

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

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

Listener เหตุการณ์ต้องลงทะเบียนแบบซิงโครนัสที่เวลาในการโหลด

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    () => void

onRequestCanceled

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

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

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    (requestId: number) => void

    • requestId

      ตัวเลข