説明
chrome.webAuthenticationProxy
API を使用すると、リモート ホストで実行されているリモート デスクトップ ソフトウェアは、ローカル クライアントで Web Authentication API(WebAuthn)リクエストを処理するために、リクエストをインターセプトできます。
権限
webAuthenticationProxy
対象
型
CreateRequest
プロパティ
-
requestDetailsJson
文字列
navigator.credentials.create()
に渡され、JSON 文字列としてシリアル化されたPublicKeyCredentialCreationOptions
。このシリアル化形式はPublicKeyCredential.parseCreationOptionsFromJSON()
と互換性があります。 -
requestId
数値
リクエストの不透明な識別子。
CreateResponseDetails
プロパティ
-
エラー
DOMExceptionDetails optional
リモート リクエストによって生成された
DOMException
(存在する場合)。 -
requestId
数値
CreateRequest
のrequestId
。 -
responseJson
文字列(省略可)
リモート リクエストによって生成される
PublicKeyCredential
(存在する場合)。これは、href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> を呼び出して JSON 文字列としてシリアル化されます。PublicKeyCredential.toJSON()
。
DOMExceptionDetails
プロパティ
-
メッセージ
文字列
-
name
文字列
GetRequest
プロパティ
-
requestDetailsJson
文字列
navigator.credentials.get()
に渡され、JSON 文字列としてシリアル化されたPublicKeyCredentialRequestOptions
。このシリアル化形式はPublicKeyCredential.parseRequestOptionsFromJSON()
と互換性があります。 -
requestId
数値
リクエストの不透明な識別子。
GetResponseDetails
プロパティ
-
エラー
DOMExceptionDetails optional
リモート リクエストによって生成された
DOMException
(存在する場合)。 -
requestId
数値
CreateRequest
のrequestId
。 -
responseJson
文字列(省略可)
リモート リクエストによって生成される
PublicKeyCredential
(存在する場合)。これは、href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> を呼び出して JSON 文字列としてシリアル化されます。PublicKeyCredential.toJSON()
。
IsUvpaaRequest
プロパティ
-
requestId
数値
リクエストの不透明な識別子。
IsUvpaaResponseDetails
プロパティ
-
isUvpaa
ブール値
-
requestId
数値
メソッド
attach()
chrome.webAuthenticationProxy.attach(
callback?: function,
)
この拡張機能をアクティブな Web Authentication API リクエスト プロキシにします。
リモート デスクトップ拡張機能は通常、このホストへのリモート セッションの接続を検出した後にこのメソッドを呼び出します。このメソッドがエラーなしで返されると、WebAuthn リクエストの通常の処理が停止され、この拡張機能 API からのイベントが発生します。
別の拡張機能がすでにアタッチされている場合、このメソッドはエラーで失敗します。
リモート デスクトップ セッションが終了したら、接続された拡張機能で detach()
を呼び出して、通常の WebAuthn リクエストの処理を再開する必要があります。拡張機能は、アンロードされると自動的に接続解除されます。
リモート セッション アタッチメントの変更をネイティブ アプリから拡張機能(一時停止される可能性があります)に変更することを通知するには、onRemoteSessionStateChange
イベントをご覧ください。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。(error?: string) => void
-
エラー
文字列(省略可)
-
戻り値
-
Promise<文字列 |未定義>
Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
callback?: function,
)
navigator.credentials.create()
呼び出しの結果を報告します。拡張機能は、onCreateRequest
イベントを受信するたびにこれを呼び出す必要があります。ただし、リクエストがキャンセルされた場合は、onRequestCanceled
イベントが発生します。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
callback?: function,
)
navigator.credentials.get()
呼び出しの結果を報告します。拡張機能は、onGetRequest
イベントを受信するたびにこれを呼び出す必要があります。ただし、リクエストがキャンセルされた場合は、onRequestCanceled
イベントが発生します。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
callback?: function,
)
PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
呼び出しの結果を報告します。拡張機能は、onIsUvpaaRequest
イベントを受信するたびにこれを呼び出す必要があります。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
detach()
chrome.webAuthenticationProxy.detach(
callback?: function,
)
この拡張機能をアクティブな Web Authentication API リクエスト プロキシから削除します。
このメソッドは通常、リモート デスクトップ セッションの終了を拡張機能が検出したときに呼び出されます。このメソッドが返されると、拡張機能はアクティブな Web Authentication API リクエスト プロキシではなくなります。
リモート セッション アタッチメントの変更をネイティブ アプリから拡張機能(一時停止される可能性があります)に変更することを通知するには、onRemoteSessionStateChange
イベントをご覧ください。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。(error?: string) => void
-
エラー
文字列(省略可)
-
戻り値
-
Promise<文字列 |未定義>
Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
イベント
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
WebAuthn の navigator.credentials.create()
呼び出しが発生すると起動します。拡張機能は、requestInfo
から requestId
を指定して completeCreateRequest()
を呼び出して、レスポンスを提供する必要があります。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
WebAuthn の navigator.credentials.get() 呼び出しが発生したときに呼び出されます。拡張機能は、requestInfo
から requestId
を指定して completeGetRequest()
を呼び出して、レスポンスを提供する必要があります。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
chrome.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
呼び出しが発生すると起動します。拡張機能は、requestInfo
から requestId
を指定して completeIsUvpaaRequest()
を呼び出して、レスポンスを提供する必要があります。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
この拡張機能に関連付けられているネイティブ アプリケーションは、デフォルトのユーザーデータ ディレクトリ内の WebAuthenticationProxyRemoteSessionStateChange
というディレクトリにある拡張機能の ID と同じ名前のファイルに書き込むことで、このイベントを発生させることができます。
ファイルの内容は空である必要があります。つまり、このイベントをトリガーするためにファイルの内容を変更する必要はありません。
拡張機能の Service Worker が一時停止されている可能性があるときに、ネイティブ ホスト アプリケーションはこのイベント メカニズムを使用して、リモート セッション状態の変化(接続解除から接続、またはその逆)を通知できます。このイベントのハンドラでは、拡張機能が attach()
または detach()
の API メソッドを適宜呼び出すことができます。
イベント リスナーは読み込み時に同期して登録する必要があります。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。() => void
onRequestCanceled
chrome.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
onCreateRequest
イベントまたは onGetRequest
イベントがキャンセルされたときに発生します(呼び出し元によって WebAuthn リクエストが中止されたか、タイムアウトしたため)。拡張機能はこのイベントを受信すると、クライアント側で対応するリクエストの処理をキャンセルする必要があります。キャンセルされたリクエストは、拡張機能で完了できません。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(requestId: number) => void
-
requestId
数値
-