説明
chrome.webAuthenticationProxy
API を使用すると、リモートホストで実行されているリモート デスクトップ ソフトウェアが Web Authentication API(WebAuthn)リクエストをインターセプトして、ローカル クライアントで処理できます。
権限
webAuthenticationProxy
可用性
型
CreateRequest
プロパティ
-
requestDetailsJson
string
navigator.credentials.create()
に渡され、JSON 文字列としてシリアル化されたPublicKeyCredentialCreationOptions
。シリアル化形式はPublicKeyCredential.parseCreationOptionsFromJSON()
と互換性があります。 -
requestId
数値
リクエストの不透明な識別子。
CreateResponseDetails
プロパティ
-
error
リモート リクエストによって返された
DOMException
(存在する場合)。 -
requestId
数値
CreateRequest
のrequestId
。 -
responseJson
string(省略可)
リモート リクエストによって生成された
PublicKeyCredential
(存在する場合)。 href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
を呼び出し、JSON 文字列としてシリアル化されます。
DOMExceptionDetails
プロパティ
-
メッセージ
string
-
name
string
GetRequest
プロパティ
-
requestDetailsJson
string
navigator.credentials.get()
に渡され、JSON 文字列としてシリアル化されたPublicKeyCredentialRequestOptions
。シリアル化形式はPublicKeyCredential.parseRequestOptionsFromJSON()
と互換性があります。 -
requestId
数値
リクエストの不透明な識別子。
GetResponseDetails
プロパティ
-
error
リモート リクエストによって返された
DOMException
(存在する場合)。 -
requestId
数値
CreateRequest
のrequestId
。 -
responseJson
string(省略可)
リモート リクエストによって生成された
PublicKeyCredential
(存在する場合)。 href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
を呼び出し、JSON 文字列としてシリアル化されます。
IsUvpaaRequest
プロパティ
-
requestId
数値
リクエストの不透明な識別子。
IsUvpaaResponseDetails
プロパティ
-
isUvpaa
boolean
-
requestId
数値
メソッド
attach()
chrome.webAuthenticationProxy.attach(
callback?: function,
)
この拡張機能をアクティブな Web Authentication API リクエスト プロキシにします。
通常、リモート デスクトップ拡張機能は、このホストへのリモート セッションの接続を検出した後に、このメソッドを呼び出します。このメソッドがエラーなしで返されると、WebAuthn リクエストの通常の処理が停止され、この拡張機能 API からのイベントが発生します。
別の拡張機能がすでに適用されている場合、このメソッドはエラーで失敗します。
リモート デスクトップ セッションが終了したら、接続された拡張機能で detach()
を呼び出して、通常の WebAuthn リクエストの処理を再開する必要があります。拡張機能は、アンロードされると自動的に接続解除されます。
リモート セッション アタッチメントの変更をネイティブ アプリから(一時停止されている可能性がある)拡張機能にシグナリングするには、onRemoteSessionStateChange
イベントを参照してください。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。(error?: string) => void
-
error
string(省略可)
-
戻り値
-
Promise<string | undefined>
Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
callback?: function,
)
navigator.credentials.create()
呼び出しの結果を報告します。拡張機能は、受け取った onCreateRequest
イベントごとにこれを呼び出す必要があります。ただし、リクエストがキャンセルされた場合は(onRequestCanceled
イベントが発生します)場合を除きます。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
callback?: function,
)
navigator.credentials.get()
呼び出しの結果を報告します。拡張機能は、受け取った onGetRequest
イベントごとにこれを呼び出す必要があります。ただし、リクエストがキャンセルされた場合は(onRequestCanceled
イベントが発生します)場合を除きます。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
callback?: function,
)
PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
呼び出しの結果を報告します。拡張機能は、受け取った onIsUvpaaRequest
イベントごとにこれを呼び出す必要があります。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。
detach()
chrome.webAuthenticationProxy.detach(
callback?: function,
)
この拡張機能をアクティブな Web Authentication API リクエスト プロキシから削除します。
このメソッドは通常、リモート デスクトップ セッションが終了したことを拡張機能が検出したときに呼び出されます。このメソッドが返されると、拡張機能はアクティブな Web Authentication API リクエスト プロキシではなくなります。
リモート セッション アタッチメントの変更をネイティブ アプリから(一時停止されている可能性がある)拡張機能にシグナリングするには、onRemoteSessionStateChange
イベントを参照してください。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。(error?: string) => void
-
error
string(省略可)
-
戻り値
-
Promise<string | undefined>
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
数値
-