說明
透過 chrome.webAuthenticationProxy
API,在遠端主機上執行的遠端桌面軟體會攔截 Web Authentication API (WebAuthn) 要求,以便在本機用戶端上處理這類要求。
權限
webAuthenticationProxy
適用國家/地區
類型
CreateRequest
屬性
-
requestDetailsJson
字串
傳遞至
navigator.credentials.create()
的PublicKeyCredentialCreationOptions
,已序列化為 JSON 字串。序列化格式與PublicKeyCredential.parseCreationOptionsFromJSON()
相容。 -
requestId
號碼
要求的不透明 ID。
CreateResponseDetails
屬性
-
錯誤
遠端要求產生的
DOMException
(如果有的話)。 -
requestId
號碼
CreateRequest
的requestId
。 -
responseJson
字串 選用
遠端要求產生的
PublicKeyCredential
(如有),會呼叫 href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
序列化為 JSON 字串。
DOMExceptionDetails
屬性
-
訊息
字串
-
名稱
字串
GetRequest
屬性
-
requestDetailsJson
字串
傳遞至
navigator.credentials.get()
的PublicKeyCredentialRequestOptions
,已序列化為 JSON 字串。序列化格式與PublicKeyCredential.parseRequestOptionsFromJSON()
相容。 -
requestId
號碼
要求的不透明 ID。
GetResponseDetails
屬性
-
錯誤
遠端要求產生的
DOMException
(如果有的話)。 -
requestId
號碼
CreateRequest
的requestId
。 -
responseJson
字串 選用
遠端要求產生的
PublicKeyCredential
(如有),會呼叫 href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
序列化為 JSON 字串。
IsUvpaaRequest
屬性
-
requestId
號碼
要求的不透明 ID。
IsUvpaaResponseDetails
屬性
-
isUvpaa
boolean
-
requestId
號碼
方法
attach()
chrome.webAuthenticationProxy.attach(
callback?: function,
)
將這項擴充功能設為有效的 Web Authentication API 要求 Proxy。
遠端桌面擴充功能在偵測到遠端工作階段連結到這個主機後,通常會呼叫此方法。此方法傳回且沒有錯誤時,便會暫停定期處理 WebAuthn 要求,並引發這個擴充功能 API 的事件。
如果已附加其他擴充功能,此方法會失敗並發生錯誤。
附加的擴充功能必須在遠端桌面工作階段結束後呼叫 detach()
,才能繼續處理一般 WebAuthn 要求。擴充功能卸載時,會自動卸離。
參照 onRemoteSessionStateChange
事件,指出從原生應用程式將遠端工作階段附件變更為 (可能已暫停) 擴充功能。
參數
-
回呼
函式選用
callback
參數如下所示:(error?: string) => void
-
錯誤
字串 選用
-
傳回
-
Promise<string | undefined>
Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
callback?: function,
)
回報 navigator.credentials.create()
呼叫的結果。擴充功能必須針對收到的每個 onCreateRequest
事件呼叫此方法,除非要求已取消 (在這種情況下,系統會觸發 onRequestCanceled
事件)。
參數
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
callback?: function,
)
回報 navigator.credentials.get()
呼叫的結果。擴充功能必須針對收到的每個 onGetRequest
事件呼叫此方法,除非要求已取消 (在這種情況下,系統會觸發 onRequestCanceled
事件)。
參數
-
詳細資料
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
callback?: function,
)
回報 PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
呼叫的結果。擴充功能必須為收到的每個 onIsUvpaaRequest
事件呼叫此方法。
參數
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
detach()
chrome.webAuthenticationProxy.detach(
callback?: function,
)
移除這項擴充功能,使其不再成為有效的 Web Authentication API 要求 Proxy。
當擴充功能偵測到遠端桌面工作階段遭到終止時,通常會呼叫此方法。這個方法傳回之後,擴充功能就會停止支援有效的 Web Authentication API 要求 Proxy。
參照 onRemoteSessionStateChange
事件,指出從原生應用程式將遠端工作階段附件變更為 (可能已暫停) 擴充功能。
參數
-
回呼
函式選用
callback
參數如下所示:(error?: string) => void
-
錯誤
字串 選用
-
傳回
-
Promise<string | undefined>
Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
活動
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
在發生 WebAuthn navigator.credentials.create()
呼叫時觸發。擴充功能必須透過 requestInfo
中的 requestId
呼叫 completeCreateRequest()
來提供回應。
參數
-
回呼
功能
callback
參數如下所示:(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
發生 WebAuthn navigator.credentials.get() 呼叫時觸發。擴充功能必須透過 requestInfo
中的 requestId
呼叫 completeGetRequest()
,藉此提供回應
參數
-
回呼
功能
callback
參數如下所示:(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
chrome.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
在發生 PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
呼叫時觸發。擴充功能必須透過 requestInfo
中的 requestId
呼叫 completeIsUvpaaRequest()
,藉此提供回應
參數
-
回呼
功能
callback
參數如下所示:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
與這個擴充功能相關聯的原生應用程式,如果寫入檔案的名稱與預設使用者資料目錄內的 WebAuthenticationProxyRemoteSessionStateChange
目錄中擴充功能 ID 相同,就會觸發這個事件。
檔案內容應該是空的。也就是說,您不需要變更檔案內容,就能觸發這個事件。
在擴充功能服務工作處理程序可能暫停時,原生主機應用程式可能會使用這個事件機制來指出可能的遠端工作階段狀態變更 (例如從卸離至連接狀態,反之亦然)。在這個事件的處理常式中,擴充功能可以據此呼叫 attach()
或 detach()
API 方法。
必須在載入時同步註冊事件監聽器。
參數
-
回呼
功能
callback
參數如下所示:() => void
onRequestCanceled
chrome.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
在 onCreateRequest
或 onGetRequest
事件取消時觸發 (因為呼叫端取消 WebAuthn 要求或逾時)。收到這個事件時,擴充功能應取消處理用戶端上的相應要求。擴充功能取消後,便無法完成要求。
參數
-
回呼
功能
callback
參數如下所示:(requestId: number) => void
-
requestId
號碼
-