chrome.webAuthenticationProxy

คำอธิบาย

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

สิทธิ์

webAuthenticationProxy

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

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

ประเภท

CreateRequest

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

  • requestDetailsJson

    string

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

  • requestId

    ตัวเลข

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

CreateResponseDetails

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

  • error

    DOMExceptionDetails ไม่บังคับ

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

  • requestId

    ตัวเลข

    requestId ของ CreateRequest

  • responseJson

    string ไม่บังคับ

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

DOMExceptionDetails

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

  • ข้อความ

    string

  • ชื่อ

    string

GetRequest

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

  • requestDetailsJson

    string

    PublicKeyCredentialRequestOptions ส่งผ่านไปยัง navigator.credentials.get() โดยเรียงอันดับเป็นสตริง JSON รูปแบบการเรียงอันดับเข้ากันได้กับ PublicKeyCredential.parseRequestOptionsFromJSON()

  • requestId

    ตัวเลข

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

GetResponseDetails

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

  • error

    DOMExceptionDetails ไม่บังคับ

    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 ที่ใช้งานอยู่

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

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

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

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

พารามิเตอร์

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (error?: string)=>void

    • error

      string ไม่บังคับ

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

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

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

completeCreateRequest()

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

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

พารามิเตอร์

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

    ฟังก์ชัน ไม่บังคับ

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

    ()=>void

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

  • Promise<void>

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

completeGetRequest()

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

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

พารามิเตอร์

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

    ฟังก์ชัน ไม่บังคับ

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

    ()=>void

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

  • Promise<void>

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

completeIsUvpaaRequest()

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

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

พารามิเตอร์

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

    ฟังก์ชัน ไม่บังคับ

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

    ()=>void

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

  • Promise<void>

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

detach()

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

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

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

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

พารามิเตอร์

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (error?: string)=>void

    • error

      string ไม่บังคับ

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

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

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

กิจกรรม

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

      ตัวเลข