PublicKeyCredential: phương thức tĩnh isConditionalMediationAvailable()
Baseline
2023
Newly available
Since October 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Phương thức tĩnh isConditionalMediationAvailable() của giao diện PublicKeyCredential trả về một Promise được giải quyết thành true nếu điều phối có điều kiện có sẵn.
Cú pháp
js
PublicKeyCredential.isConditionalMediationAvailable()
Tham số
Không có.
Giá trị trả về
Một Promise được giải quyết thành giá trị boolean cho biết điều phối có điều kiện có sẵn hay không.
Ngoại lệ
Promise được trả về có thể bị từ chối với các giá trị sau:
SecurityErrorDOMException-
Miền RP không hợp lệ.
Ví dụ
Trước khi gọi API WebAuthn có điều kiện, hãy kiểm tra xem:
- Trình duyệt có hỗ trợ Web Authentication API không.
- Trình duyệt có hỗ trợ điều phối có điều kiện không.
js
// 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: challengeFromServer,
// 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",
});
}
}
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Web Authentication: An API for accessing Public Key Credentials - Level 3> # dom-publickeycredential-isconditionalmediationavailable> |