Spec-Zone.ru › Web APIs

Метод 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);
  });

Спецификации

Спецификация
Web Authentication: API для доступа к учетным данным с открытым ключом — Уровень 3
# ref-for-dom-publickeycredential-getclientextensionresults

Совместимость с браузерами

Десктопные Мобильные
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 92
60–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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API