chrome.webAuthenticationProxy

Описание

API chrome.webAuthenticationProxy позволяет программному обеспечению удаленного рабочего стола, работающему на удаленном хосте, перехватывать запросы API веб-аутентификации (WebAuthn) для их обработки на локальном клиенте.

Разрешения

webAuthenticationProxy

Доступность

Хром 115+ МВ3+

Типы

CreateRequest

Характеристики

  • запросПодробностиJson

    нить

    Параметр PublicKeyCredentialCreationOptions , передаваемый в navigator.credentials.create() , сериализуется как строка JSON. Формат сериализации совместим с PublicKeyCredential.parseCreationOptionsFromJSON() .

  • идентификатор запроса

    число

    Непрозрачный идентификатор запроса.

CreateResponseDetails

Характеристики

  • ошибка

    DOMExceptionDetails необязательно

    Исключение DOMException , полученное в результате удаленного запроса, если таковое имеется.

  • идентификатор запроса

    число

    requestId CreateRequest .

  • ответJson

    строка необязательна

    PublicKeyCredential , полученный в результате удаленного запроса, если таковой имеется, сериализуется как строка JSON путем вызова href="https://w3c.github.io/weauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON() .

DOMExceptionDetails

Характеристики

  • сообщение

    нить

  • имя

    нить

GetRequest

Характеристики

  • запросПодробностиJson

    нить

    PublicKeyCredentialRequestOptions передается в navigator.credentials.get() и сериализуется как строка JSON. Формат сериализации совместим с PublicKeyCredential.parseRequestOptionsFromJSON() .

  • идентификатор запроса

    число

    Непрозрачный идентификатор запроса.

GetResponseDetails

Характеристики

  • ошибка

    DOMExceptionDetails необязательно

    Исключение DOMException , полученное в результате удаленного запроса, если таковое имеется.

  • идентификатор запроса

    число

    requestId CreateRequest .

  • ответJson

    строка необязательна

    PublicKeyCredential , полученный в результате удаленного запроса, если таковой имеется, сериализуется как строка JSON путем вызова href="https://w3c.github.io/weauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON() .

IsUvpaaRequest

Характеристики

  • идентификатор запроса

    число

    Непрозрачный идентификатор запроса.

IsUvpaaResponseDetails

Характеристики

  • isUvpaa

    логическое значение

  • идентификатор запроса

    число

Методы

attach()

Обещать
chrome.webAuthenticationProxy.attach(
  callback?: function,
)

Делает это расширение активным прокси-сервером запросов API веб-аутентификации.

Расширения удаленного рабочего стола обычно вызывают этот метод после обнаружения подключения удаленного сеанса к этому хосту. Как только этот метод возвращает ошибку, регулярная обработка запросов WebAuthn приостанавливается и создаются события из этого API расширения.

Этот метод завершается ошибкой, если уже подключено другое расширение.

Прикрепленное расширение должно вызвать detach() после завершения сеанса удаленного рабочего стола, чтобы возобновить обычную обработку запросов WebAuthn. Расширения автоматически отключаются, если они выгружены.

Обратитесь к событию onRemoteSessionStateChange , чтобы сигнализировать об изменении вложения удаленного сеанса с собственного приложения на расширение (возможно, приостановленное).

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (error?: string)=>void

    • ошибка

      строка необязательна

Возврат

  • Обещание<строка|неопределено>

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

completeCreateRequest()

Обещать
chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
  callback?: function,
)

Сообщает результат вызова navigator.credentials.create() . Расширение должно вызывать это для каждого полученного события onCreateRequest , если только запрос не был отменен (в этом случае запускается событие onRequestCanceled ).

Параметры

  • подробности
  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    ()=>void

Возврат

  • Обещание<void>

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

completeGetRequest()

Обещать
chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
  callback?: function,
)

Сообщает результат вызова navigator.credentials.get() . Расширение должно вызывать это для каждого полученного события onGetRequest , если только запрос не был отменен (в этом случае запускается событие onRequestCanceled ).

Параметры

  • подробности
  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    ()=>void

Возврат

  • Обещание<void>

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

completeIsUvpaaRequest()

Обещать
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
  callback?: function,
)

Сообщает результат вызова PublicKeyCredential.isUserVerifyingPlatformAuthenticator() . Расширение должно вызывать это для каждого полученного события onIsUvpaaRequest .

Параметры

  • подробности
  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    ()=>void

Возврат

  • Обещание<void>

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

detach()

Обещать
chrome.webAuthenticationProxy.detach(
  callback?: function,
)

Удаляет это расширение из списка активных прокси-серверов запросов API веб-аутентификации.

Этот метод обычно вызывается, когда расширение обнаруживает, что сеанс удаленного рабочего стола был прерван. После возврата этого метода расширение перестает быть активным прокси-сервером запросов API веб-аутентификации.

Обратитесь к событию onRemoteSessionStateChange , чтобы сигнализировать об изменении вложения удаленного сеанса с собственного приложения на расширение (возможно, приостановленное).

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (error?: string)=>void

    • ошибка

      строка необязательна

Возврат

  • Обещание<строка|неопределено>

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

События

onCreateRequest

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

Срабатывает, когда происходит вызов WebAuthn navigator.credentials.create() . Расширение должно предоставить ответ, вызвав completeCreateRequest() с requestId из requestInfo .

Параметры

onGetRequest

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

Срабатывает, когда происходит вызов WebAuthn navigator.credentials.get(). Расширение должно предоставить ответ, вызвав completeGetRequest() с requestId из requestInfo

Параметры

onIsUvpaaRequest

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

Срабатывает при возникновении вызова PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() . Расширение должно предоставить ответ, вызвав completeIsUvpaaRequest() с requestId из requestInfo

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (requestInfo: IsUvpaaRequest)=>void

onRemoteSessionStateChange

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

Собственное приложение, связанное с этим расширением, может вызвать запуск этого события путем записи в файл с именем, равным идентификатору расширения, в каталоге с именем WebAuthenticationProxyRemoteSessionStateChange внутри каталога пользовательских данных по умолчанию.

Содержимое файла должно быть пустым. Т.е. не обязательно менять содержимое файла, чтобы вызвать это событие.

Собственное хост-приложение может использовать этот механизм событий для сигнализации о возможном изменении состояния удаленного сеанса (т. е. с отключенного на подключенное или наоборот), в то время как рабочий сервис расширения, возможно, приостановлен. В обработчике этого события расширение может соответственно вызывать методы API attach() или detach() .

Прослушиватель событий должен быть зарегистрирован синхронно во время загрузки.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    ()=>void

onRequestCanceled

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

Срабатывает, когда событие onCreateRequest или onGetRequest отменяется (поскольку запрос WebAuthn был прерван вызывающей стороной или по истечении времени ожидания). При получении этого события расширение должно отменить обработку соответствующего запроса на стороне клиента. Расширения не могут выполнить запрос после его отмены.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (requestId: number)=>void

    • идентификатор запроса

      число