Метод PublicKeyCredential: getClientExtensionResults()
Базовая линия Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2021 года.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Метод getClientExtensionResults() интерфейса PublicKeyCredential возвращает соответствие между идентификаторами расширений, запрошенных во время создания или аутентификации учетных данных, и их результатами после обработки пользовательским агентом.
Во время создания или получения PublicKeyCredential (через navigator.credentials.create() и navigator.credentials.get() соответственно) можно запросить "пользовательскую" обработку клиентом для различных расширений, указанных в свойстве extensions опции publicKey. Более подробную информацию о запросе различных расширений можно найти в разделе Расширения Web Authentication.
Примечание: getClientExtensionResults() возвращает только результаты обработки расширений пользовательским агентом (клиентом). Результаты обработки расширений аутентификатором можно найти в данных аутентификатора, доступных в AuthenticatorAssertionResponse.authenticatorData.
Синтаксис
getClientExtensionResults()
Параметры
Нет.
Возвращаемое значение
Объект map, где каждый элемент представляет собой строку-идентификатор расширения в качестве ключа и результат обработки расширения клиентом в качестве значения.
Примеры
const publicKey = {
// Here are the extension "inputs"
extensions: {
appid: "https://accounts.example.com",
},
allowCredentials: {
id: "fgrt46jfgd...",
transports: ["usb", "nfc"],
type: "public-key",
},
challenge: new Uint8Array(16) /* from the server */,
};
navigator.credentials
.get({ publicKey })
.then((publicKeyCred) => {
const myResults = publicKeyCred.getClientExtensionResults();
// myResults will contain the output of processing the "appid" extension
})
.catch((err) => {
console.error(err);
});
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
getClientExtensionResults |
67 | 18 | 60Поддерживает только USB-токена U2F. |
54 | 13 | 70 | 9260–92Поддерживает только USB-токена U2F. |
49 | 13 | 10.0 | Нет |
Примечание: Расширения являются необязательными, и разные браузеры могут распознавать различные расширения. Обработка расширений всегда необязательна для клиента: если браузер не распознает определенное расширение, он просто проигнорирует его. Информацию о поддерживаемых расширениях в разных браузерах можно найти в разделе Расширения Web Authentication.
См. также
- Список текущих определенных расширений
-
AuthenticatorAssertionResponse.authenticatorData, содержащий результат обработки расширений аутентификатором
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredential/getClientExtensionResults