chrome.webAuthenticationProxy

説明

chrome.webAuthenticationProxy API を使用すると、リモート ホストで実行されているリモート デスクトップ ソフトウェアは、ローカル クライアントで Web Authentication API(WebAuthn)リクエストを処理するために、リクエストをインターセプトできます。

権限

webAuthenticationProxy

対象

Chrome 115 以降 MV3 以降 をご覧ください。

CreateRequest

プロパティ

  • requestDetailsJson

    文字列

    navigator.credentials.create() に渡され、JSON 文字列としてシリアル化された PublicKeyCredentialCreationOptions。このシリアル化形式は PublicKeyCredential.parseCreationOptionsFromJSON() と互換性があります。

  • requestId

    数値

    リクエストの不透明な識別子。

CreateResponseDetails

プロパティ

  • エラー

    リモート リクエストによって生成された DOMException(存在する場合)。

  • requestId

    数値

    CreateRequestrequestId

  • 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

プロパティ

  • エラー

    リモート リクエストによって生成された DOMException(存在する場合)。

  • requestId

    数値

    CreateRequestrequestId

  • responseJson

    文字列(省略可)

    リモート リクエストによって生成される PublicKeyCredential(存在する場合)。これは、href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> を呼び出して JSON 文字列としてシリアル化されます。PublicKeyCredential.toJSON()

IsUvpaaRequest

プロパティ

  • requestId

    数値

    リクエストの不透明な識別子。

IsUvpaaResponseDetails

プロパティ

  • isUvpaa

    ブール値

  • requestId

    数値

メソッド

attach()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.webAuthenticationProxy.attach(
  callback?: function,
)

この拡張機能をアクティブな Web Authentication API リクエスト プロキシにします。

リモート デスクトップ拡張機能は通常、このホストへのリモート セッションの接続を検出した後にこのメソッドを呼び出します。このメソッドがエラーなしで返されると、WebAuthn リクエストの通常の処理が停止され、この拡張機能 API からのイベントが発生します。

別の拡張機能がすでにアタッチされている場合、このメソッドはエラーで失敗します。

リモート デスクトップ セッションが終了したら、接続された拡張機能で detach() を呼び出して、通常の WebAuthn リクエストの処理を再開する必要があります。拡張機能は、アンロードされると自動的に接続解除されます。

リモート セッション アタッチメントの変更をネイティブ アプリから拡張機能(一時停止される可能性があります)に変更することを通知するには、onRemoteSessionStateChange イベントをご覧ください。

パラメータ

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (error?: string) => void

    • エラー

      文字列(省略可)

戻り値

  • Promise<文字列 |未定義>

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

completeCreateRequest()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
  callback?: function,
)

navigator.credentials.create() 呼び出しの結果を報告します。拡張機能は、onCreateRequest イベントを受信するたびにこれを呼び出す必要があります。ただし、リクエストがキャンセルされた場合は、onRequestCanceled イベントが発生します。

パラメータ

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

completeGetRequest()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
  callback?: function,
)

navigator.credentials.get() 呼び出しの結果を報告します。拡張機能は、onGetRequest イベントを受信するたびにこれを呼び出す必要があります。ただし、リクエストがキャンセルされた場合は、onRequestCanceled イベントが発生します。

パラメータ

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

completeIsUvpaaRequest()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
  callback?: function,
)

PublicKeyCredential.isUserVerifyingPlatformAuthenticator() 呼び出しの結果を報告します。拡張機能は、onIsUvpaaRequest イベントを受信するたびにこれを呼び出す必要があります。

パラメータ

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

detach()

<ph type="x-smartling-placeholder"></ph> 約束
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

onGetRequest

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

WebAuthn の navigator.credentials.get() 呼び出しが発生したときに呼び出されます。拡張機能は、requestInfo から requestId を指定して completeGetRequest() を呼び出して、レスポンスを提供する必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (requestInfo: GetRequest) => void

onIsUvpaaRequest

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

PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() 呼び出しが発生すると起動します。拡張機能は、requestInfo から requestId を指定して completeIsUvpaaRequest() を呼び出して、レスポンスを提供する必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (requestInfo: IsUvpaaRequest) => void

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

      数値