PublicKeyCredential: isConditionalMediationAvailable() 靜態方法

Baseline 2023
新推出

自 ⁨2023 年 10 月⁩ 以來,此功能已在最新裝置和瀏覽器版本中得到支援。此功能可能無法在舊裝置或瀏覽器上執行。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

PublicKeyCredential 介面的 isConditionalMediationAvailable() 靜態方法返回一個 Promise,如果 條件中介 可用,則該 Promise 解析為 true

語法

js
PublicKeyCredential.isConditionalMediationAvailable()

引數

無。

返回值

一個 Promise,解析為一個布林值,指示是否可用條件中介。

異常

返回的 Promise 可能會因以下值而被拒絕

SecurityError DOMException

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

瀏覽器相容性