Описание
API chrome.webAuthenticationProxy
позволяет программному обеспечению удаленного рабочего стола, работающему на удаленном хосте, перехватывать запросы API веб-аутентификации (WebAuthn) для их обработки на локальном клиенте.
Разрешения
webAuthenticationProxy
Доступность
Типы
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
.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(requestInfo: CreateRequest) => void
- запросИнформация
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
Срабатывает, когда происходит вызов WebAuthn navigator.credentials.get(). Расширение должно предоставить ответ, вызвав completeGetRequest()
с requestId
из requestInfo
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(requestInfo: GetRequest) => void
- запросИнформация
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
- идентификатор запроса
число