0

当我尝试使用 WebAuthn 登录时navigator.credentials.get()。我需要在属性上推送一些值,allowCredentials因为 Chrome Mobile 它不允许为空allowCredentials。困难的部分在transports属性内部,因为根据 Mozilla 文档,它是一个字符串数组。我有一个只有一个字符串 = 的数组internal,因为我不需要 USB 或其他任何东西。

credencialesPermitidas.push({
  id: base64ArrayBuffer.decode(id),
  type: "public-key",
  transports: ["internal"]
});
navigator.credentials
 .get({
    publicKey: {
      rpId: "localhost",
      challenge: base64ArrayBuffer.decode(response.data.result),
      userVerification: "discouraged",
      allowCredentials: credencialesPermitidas,
      timeout: 60000
     }
   })

使用这些配置,一切正常,但是当进程完成身份验证时,结果是一个错误: 在此处输入图像描述

如果transports为空,则该过程需要USB Key...我不明白这一点。

4

0 回答 0