我几天后要做一次关于FIDO2/Webauthn标准的演示,很高兴看到Yubico网站上的这篇文章称,像Android一样,苹果已经通过NFC添加了对FIDO身份验证的支持。我让我的一些同事在运行iOS 13.1的新设备上去了各种Webauthn测试网站(webauthn.me、webauthn.io等),但它们都显示浏览器不受支持的错误(safari和chrome皆然)。是否需要执行某些操作才能启用此功能,还是我们正在等待苹果更新以启用该功能?
iOS/iPadOS 14和macOS Big Sur中的Safari支持FaceID和TouchID的WebAuthn,这是在WWDC 2020大会上宣布的。
https://bugs.chromium.org/p/chromium/issues/detail?id=1101804
。 - Thang Le我已经使用一年左右的NFC钥匙(FEITAN ePass FIDO - NFC安全钥匙)与我的iPhone 7一起使用,使用的是最新的iOS版本。此外,我的iPhone 7和iPad Air 2上的Touch ID也运行良好(这些设备没有Face ID,因此无法测试)。
关于Touch ID,它有点棘手。如果您使用回调而不是与按钮事件相同的线程来调用navigator.credentials.create({publicKey})
,则它不会作为在Safari javascript中注册的选项出现。发现这一点很麻烦!因此,不能使用“setTimeout(register...)”或承诺(.then/await)来启动使用Touch ID进行注册。
我在服务器端使用https://www.npmjs.com/package/fido2-lib作为后备库。