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",
});
}
}
Примечание: Подробнее об использовании условного посредничества см. на странице Вход с помощью ключевого слова через автозаполнение формы.
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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