Web身份验证API奇怪的行为

时间:2020-07-31 10:58:08

标签: javascript authentication browser webapi webauthn

我想构建一个应用程序,使用户可以使用移动指纹传感器,个人识别号或面部ID登录。我发现Web Authentication API为我提供了这样的功能,但是当我尝试使用已从Internet创建的演示时(例如Webauthn.io),它的行为很奇怪。我有iPhone,并且装有最新的Google chrome和Safari浏览器。当我尝试使用chrome进行此演示时,它说不支持Web身份验证API,而当我尝试使用safari时,它说:

“'webauthn.io'要注册一个安全密钥。插入您的 安全密钥或将密钥带到iPhone顶部附近。然后, 激活密钥”

那是怎么回事?我该怎么办?这是否意味着由于缺少浏览器支持而无法使用Web身份验证API?

1 个答案:

答案 0 :(得分:0)

在iOS 14上当前不公开的版本中,对iOS上的WebAuthn中的Face / Touch ID的支持将不可用。我建议您获得一个开发者帐户(如果您还没有的话)并对其进行测试。

请注意,从当前的Beta版本开始,存在一些限制,这意味着当前的演示站点可能无法正常工作。 Apple当前要求通过用户交互(例如,按下按钮)直接启动WebAuthn调用。这会导致应用程序在丢失上下文的情况下在用户交互和WebAuthn调用之间进行访存调用时引起问题。希望这个问题能在适当的时候得到解决。

链接到上述问题:https://bugs.webkit.org/show_bug.cgi?id=213595