PublicKeyCredential: isConditionalMediationAvailable() 静的メソッド
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2023年10月以降、すべてのブラウザーで利用可能です。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
isConditionalMediationAvailable() は PublicKeyCredential インターフェイスの静的メソッドで、条件付き仲介 が利用できる場合に true として解決する Promise を返します。
構文
js
PublicKeyCredential.isConditionalMediationAvailable()
引数
なし。
返値
条件付き仲介が利用できるかどうかを示す論理値に解決される Promise です。
例外
返される Promise は、以下の値で拒否されることがあります。
SecurityErrorDOMException-
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> |