错误PublicKeyCredential.isConditionalMediationSupported()不是一个函



我在https://passkeys.dev/docs/use-cases/bootstrapping/#authenticating-the-user上浏览' bootstrapping '部分,在尝试遵循时出现错误:

输入图片描述

我使用的是Brave 1.45.133 Chromium: 107.0.5304.141

我试着运行

const isCMSupported =
PublicKeyCredential.isConditionalMediationSupported();
console.log({ isCMSupported });

和我期望的真或假,但却得到了一个错误

Uncaught TypeError: PublicKeyCredential。isConditionalMediationSupported不是一个函数

因为isConditionalMediationAvailable()方法是一个"最近的";此外,它可能无法在所有浏览器中使用。在得到更广泛的采用之前,您将需要扩展检查的逻辑:

  1. 方法是否可用
  2. 如果可用,返回值是多少

如果方法不可用,则可以假设条件中介也不可用。

您可以使用下面的代码——它不像isConditionalMediationAvailable()提供的单行代码那样优雅,但是在被广泛采用之前是必要的。

const mediationAvailable = () => {
const pubKeyCred = PublicKeyCredential;
// Check if the function exists on the browser - Not safe to assume as the page will crash if the function is not available
//typeof check is used as browsers that do not support mediation will not have the 'isConditionalMediationAvailable' method available
if (
typeof pubKeyCred.isConditionalMediationAvailable === "function" &&
pubKeyCred.isConditionalMediationAvailable()
) {
console.log("Conditional Mediation is available");
return true;
}
console.log("Conditional Mediation is not available");
return false;
};

相关内容

  • 没有找到相关文章

最新更新