android - Android 上的 Chrome 是否支持使用 Webauthn / FIDO2 对安全密钥进行用户验证?
问题描述
我正在构建一个使用Webauthn进行无密码登录的网站。目前,这在适用于 Windows 和 macOS 的 Chrome 上运行良好。
我正在使用 YubiKey 5 来测试我的实现,它支持使用 PIN 来提供用户验证,而不仅仅是普通的用户存在(即用户触摸键的按钮)。
但是,当我尝试在 Android 9 上的 Chrome 76 上使用同一站点时,系统不会提示我输入密码,因此未设置用户验证标志,并且我的登录(按设计)失败。
谷歌在 Android 7+ 兼容 FIDO2 方面做了很多工作,但除了一篇过时的文章提到:
我们还在研究 CTAP 2 和 WebAuthn 支持的更高级流程,例如 PIN 保护的身份验证器、本地帐户选择(而不是输入用户名或密码)和指纹注册。
现在支持指纹注册;即使 Windows 和 macOS 版本的 Chrome 76 支持PIN 保护的身份验证器,是否仍然不受支持?
这是我呼吁的相关部分navigator.credentials.create()
,应该要求用户验证:
"authenticatorSelection": {"requireResidentKey": false, "userVerification": "required"}
解决方案
事实证明,这目前还没有在 Android 的 Google Play Services 中实现。我已经向 Chromium 项目提交了一个错误,该项目正在跟踪其最终实施。
推荐阅读
- css - 如何在 Angular 应用程序中正确设置 PrimeNg 的样式
- latex - Latex(pgffor 包)中的 \for 循环命令是否已被弃用?
- c++ - 从外部 c++ 程序获取结果
- javascript - 如何覆盖或删除“element.style”?
- javascript - 闪烁负值,我想将负值的颜色从黑色变为红色,将正值变为绿色
- java - 当实体没有 Select 查询中提到的 2 个字段时,如何在 JPA 中使用 Select Query 获取记录?
- excel - 根据多个条件返回值
- javascript - VueRouter 不滚动到锚标签
- vue.js - 当我输入无效的 uri 时,Vue 总是重定向到主页
- javascript - 在特定条件下自动滚动页面到 Anchor