PublicKeyCredential: isConditionalMediationAvailable() 静态方法
PublicKeyCredential 接口的 isConditionalMediationAvailable() 静态方法返回一个 Promise,如果 条件中介 可用,则该 Promise 解析为 true。
语法
js
PublicKeyCredential.isConditionalMediationAvailable()
参数
无。
返回值
一个 Promise,解析为一个布尔值,指示是否可用条件中介。
异常
返回的 Promise 可能会因以下值而被拒绝
SecurityErrorDOMException-
RP 域无效。
示例
在调用条件 WebAuthn API 调用之前,请检查:
- 浏览器是否支持 Web Authentication API。
- 浏览器是否支持 WebAuthn 条件 UI。
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",
});
}
}
注意: 有关使用条件中介的更多信息,请参阅 通过表单自动填充使用通行证密钥登录。
规范
| 规范 |
|---|
| Web Authentication:访问公钥凭证的 API - 第 3 级 # dom-publickeycredential-isconditionalmediationavailable |
浏览器兼容性
加载中…