webauthn - 如何区分 FIDO2 设备
问题描述
我想区分webauthn中的认证设备。
我想知道这是否可能以及如果可能的话我该怎么做。
解决方案
不幸的是,没有简单的 WebAuthn API 函数可以调用,“给我可用的身份验证器的名称”。WebAuthn API 的设计目的是让用户难以确定特定品牌和型号的身份验证器,以保护用户隐私。
确定身份验证器的品牌和型号的唯一可靠方法是在注册期间请求直接证明,然后与您收集并自己维护的列表交叉引用aaguid
您返回的信息,或通过Fido 联盟元数据服务之类的方式。
注意:如果您不请求
"direct"
证明,您可能会得到一个 obscuredaaguid
:
特别是对于平台身份验证器,您可以尝试创建“启发式”,基于浏览器屏幕尺寸和用户代理分析等内容,尝试可靠地确定系统级身份验证器(如 Touch ID 或 Windows Hello)是否可用。在用户成功向您的站点注册凭据后,您希望将启发式分析的结果与凭据一起存储,以便稍后在身份验证期间提供 UX 提示(例如,“我们确定用户注册了 Windows Hello 凭据,因此向他们显示 'Enter您的 Hello PIN 以在身份验证期间继续使用 UI。”)
推荐阅读
- mysql - 您不能指定目标表(SELECT Query 上的 UPDATE )?
- node.js - 用于自引用迁移的 Typeorm 迁移
- c++ - 循环遍历结构元素
- javascript - 将 vuex 模块的状态重置为某个初始状态值
- python - 使用分组 DataFrame 和后过滤器优化 itertools 组合
- python - Microsoft 认知服务 - 说话人识别 API - 识别 - 错误
- r - 如何循环R中两列数据框中的行值?
- php - 使用 Windows 身份验证登录时调试 pdo 连接用户名
- javascript - 如何通过悬停删除类
- javascript - 如何根据列 [0] 名称删除 CSV 行