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