Spec-Zone.ru › Web APIs

PublicKeyCredential: isConditionalMediationAvailable() статический метод

Безопасный контекст: Данная функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.

Статический метод isConditionalMediationAvailable() интерфейса PublicKeyCredential возвращает Promise, который разрешается до true , если условное посредничество доступно.

Условное посредничество, если доступно, приводит к тому, что любые обнаруженные учётные данные представляются пользователю в немодальном диалоговом окне вместе с указанием источника, запрашивающего учётные данные. Это запрашивается путём включения mediation: 'conditional' в вашем вызове get(). На практике это означает автоматическое заполнение доступных учётных данных; вам нужно включить autocomplete="webauthn" в ваших полях формы, чтобы отобразить веб-аутентификационные варианты входа.

Вызов условного get() не отображает пользовательский интерфейс браузера и остаётся в ожидании, пока пользователь не выберет учётную запись для входа из доступных предложений автозаполнения:

  • Если пользователь выполнит действие вне диалогового окна, оно закроется без разрешения или отклонения Promise и без создания видимой для пользователя ошибки.
  • Если пользователь выберет учётные данные, эти данные возвращаются вызывающему коду.

Флаг предотвращения молчаливого доступа (см. CredentialsContainer.preventSilentAccess()) обрабатывается как true независимо от его фактического значения: условное поведение всегда предполагает посредничество пользователя, если обнаружены применимые учётные данные.

Примечание: Если учётные данные не обнаружены, немодальное диалоговое окно не будет видно, и пользовательский агент может попросить пользователя предпринять действия, которые зависят от типа учётных данных (например, вставить устройство, содержащее учётные данные).

Синтаксис

isConditionalMediationAvailable()

Параметры

Нет.

Возвращаемое значение

A Promise, который разрешается до логического значения, указывающего, доступно ли условное посредничество.

Примеры

Перед вызовом условного вызова API WebAuthn проверьте:

  • Поддерживает ли браузер API аутентификации веб-приложений.
  • Поддерживает ли браузер условный пользовательский интерфейс WebAuthn.
// Availability of `window.PublicKeyCredential` means WebAuthn is usable.
if (
  window.PublicKeyCredential &&
  PublicKeyCredential.isConditionalMediationAvailable
) {
  // Check if conditional mediation is available.
  const isCMA = await PublicKeyCredential.isConditionalMediationAvailable();
  if (isCMA) {
    // Call WebAuthn authentication
    const publicKeyCredentialRequestOptions = {
      // Server generated challenge
      challenge: ****,
      // The same RP ID as used during registration
      rpId: "example.com",
    };

    const credential = await navigator.credentials.get({
      publicKey: publicKeyCredentialRequestOptions,
      signal: abortController.signal,
      // Specify 'conditional' to activate conditional UI
      mediation: "conditional",
    });
  }
}

Примечание: Подробнее об использовании условного посредничества см. на странице Вход с помощью ключевого слова через автозаполнение формы.

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

Спецификация
Веб-аутентификация: API для доступа к учётным данным с открытым ключом - Уровень 3
# dom-publickeycredential-isconditionalmediationavailable

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
isConditionalMediationAvailable_static 108 108 119 94 16 108 119 73 16 21.0 Нет

© 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/isConditionalMediationAvailable_static

Spec-Zone.ru

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