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