chrome.webAuthenticationProxy

說明

透過 chrome.webAuthenticationProxy API,在遠端主機上執行的遠端桌面軟體會攔截 Web Authentication API (WebAuthn) 要求,以便在本機用戶端上處理這類要求。

權限

webAuthenticationProxy

適用國家/地區

Chrome 115 以上版本 MV3 以上版本

類型

CreateRequest

屬性

  • requestDetailsJson

    字串

    傳遞至 navigator.credentials.create()PublicKeyCredentialCreationOptions,已序列化為 JSON 字串。序列化格式與 PublicKeyCredential.parseCreationOptionsFromJSON() 相容。

  • requestId

    號碼

    要求的不透明 ID。

CreateResponseDetails

屬性

  • 錯誤

    遠端要求產生的 DOMException (如果有的話)。

  • requestId

    號碼

    CreateRequestrequestId

  • 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

    號碼

    CreateRequestrequestId

  • responseJson

    字串 選用

    遠端要求產生的 PublicKeyCredential (如有),會呼叫 href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON() 序列化為 JSON 字串。

IsUvpaaRequest

屬性

  • requestId

    號碼

    要求的不透明 ID。

IsUvpaaResponseDetails

屬性

  • isUvpaa

    boolean

  • requestId

    號碼

方法

attach()

Promise
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()

Promise
chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
  callback?: function,
)

回報 navigator.credentials.create() 呼叫的結果。擴充功能必須針對收到的每個 onCreateRequest 事件呼叫此方法,除非要求已取消 (在這種情況下,系統會觸發 onRequestCanceled 事件)。

參數

傳回

  • Promise<void>

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

completeGetRequest()

Promise
chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
  callback?: function,
)

回報 navigator.credentials.get() 呼叫的結果。擴充功能必須針對收到的每個 onGetRequest 事件呼叫此方法,除非要求已取消 (在這種情況下,系統會觸發 onRequestCanceled 事件)。

參數

  • 詳細資料
  • 回呼

    函式選用

    callback 參數如下所示:

    ()=>void

傳回

  • Promise<void>

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

completeIsUvpaaRequest()

Promise
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
  callback?: function,
)

回報 PublicKeyCredential.isUserVerifyingPlatformAuthenticator() 呼叫的結果。擴充功能必須為收到的每個 onIsUvpaaRequest 事件呼叫此方法。

參數

傳回

  • Promise<void>

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

detach()

Promise
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() 來提供回應。

參數

onGetRequest

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

發生 WebAuthn navigator.credentials.get() 呼叫時觸發。擴充功能必須透過 requestInfo 中的 requestId 呼叫 completeGetRequest(),藉此提供回應

參數

  • 回呼

    功能

    callback 參數如下所示:

    (requestInfo: GetRequest)=>void

onIsUvpaaRequest

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

在發生 PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() 呼叫時觸發。擴充功能必須透過 requestInfo 中的 requestId 呼叫 completeIsUvpaaRequest(),藉此提供回應

參數

onRemoteSessionStateChange

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

與這個擴充功能相關聯的原生應用程式,如果寫入檔案的名稱與預設使用者資料目錄內的 WebAuthenticationProxyRemoteSessionStateChange 目錄中擴充功能 ID 相同,就會觸發這個事件。

檔案內容應該是空的。也就是說,您不需要變更檔案內容,就能觸發這個事件。

在擴充功能服務工作處理程序可能暫停時,原生主機應用程式可能會使用這個事件機制來指出可能的遠端工作階段狀態變更 (例如從卸離至連接狀態,反之亦然)。在這個事件的處理常式中,擴充功能可以據此呼叫 attach()detach() API 方法。

必須在載入時同步註冊事件監聽器。

參數

  • 回呼

    功能

    callback 參數如下所示:

    ()=>void

onRequestCanceled

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

onCreateRequestonGetRequest 事件取消時觸發 (因為呼叫端取消 WebAuthn 要求或逾時)。收到這個事件時,擴充功能應取消處理用戶端上的相應要求。擴充功能取消後,便無法完成要求。

參數

  • 回呼

    功能

    callback 參數如下所示:

    (requestId: number)=>void

    • requestId

      號碼