คำอธิบาย
chrome.webAuthenticationProxy API ช่วยให้ซอฟต์แวร์เดสก์ท็อประยะไกลที่ทำงานบนโฮสต์ระยะไกลสามารถสกัดกั้นคำขอ Web Authentication API (WebAuthn) เพื่อจัดการคำขอเหล่านั้นในไคลเอ็นต์ในเครื่องได้
สิทธิ์
webAuthenticationProxyความพร้อมใช้งาน
ประเภท
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
-
requestInfo
-
onGetRequest
browser.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการเรียกใช้ WebAuthn navigator.credentials.get() ส่วนขยายต้องให้การตอบกลับโดยเรียกใช้ completeGetRequest() ด้วย requestId จาก requestInfo
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
browser.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการโทร PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() ส่วนขยายต้องให้การตอบกลับโดยเรียกใช้ completeIsUvpaaRequest() ด้วย requestId จาก requestInfo
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
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
ตัวเลข
-