このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

PublicKeyCredential: isConditionalMediationAvailable() 静的メソッド

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2023年10月以降、すべてのブラウザーで利用可能です。

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

isConditionalMediationAvailable()PublicKeyCredential インターフェイスの静的メソッドで、条件付き仲介 が利用できる場合に true として解決する Promise を返します。

構文

js
PublicKeyCredential.isConditionalMediationAvailable()

引数

なし。

返値

条件付き仲介が利用できるかどうかを示す論理値に解決される Promise です。

例外

返される Promise は、以下の値で拒否されることがあります。

SecurityError DOMException

RP のドメインが有効ではありません。

条件付き WebAuthn API 呼び出しを呼び出す前に、以下の点を調べます。

  • ブラウザーがウェブ認証 API に対応しているか。
  • ブラウザーが条件付き仲介に対応しているか。
js
// `window.PublicKeyCredential` が利用できれば、WebAuthn を使用できる
if (
  window.PublicKeyCredential &&
  PublicKeyCredential.isConditionalMediationAvailable
) {
  // 条件付き仲介が利用できるかどうかを調べる
  const isCMA = await PublicKeyCredential.isConditionalMediationAvailable();
  if (isCMA) {
    // WebAuthn 認証を呼び出す
    const publicKeyCredentialRequestOptions = {
      // サーバーが生成したチャレンジ
      challenge: challengeFromServer,
      // 登録時に使用された RP ID
      rpId: "example.com",
    };

    const credential = await navigator.credentials.get({
      publicKey: publicKeyCredentialRequestOptions,
      signal: abortController.signal,
      // 条件付き UI を有効にするには、'conditional' を指定する
      mediation: "conditional",
    });
  }
}

仕様書

仕様書
Web Authentication: An API for accessing Public Key Credentials - Level 3
# dom-publickeycredential-isconditionalmediationavailable

ブラウザーの互換性