javascript - 关于 WebAuthn(FIDO)
问题描述
我在前端测试 WebAuthn (这意味着没有后端的东西,比如挑战、id 等)
- 为什么图标很重要?
当我第一次尝试时,我只能使用安全密钥进行身份验证。但是当我向 publickey.user.icon 添加一个图标:未定义时,我可以使用 Windows Hello 进行身份验证。而且,即使我插入了一个真正的图标链接,它也没有显示出来。Windows 10 教育版,最新版本
- 我该如何实施?
我发现我可以使用res(navigator.credentials....).response.attestationObject。这是使用 WebAuthn 的正确方法吗?
- 关于物理安全密钥
假设我有一个支持指纹的安全密钥 USB。然后我输入我的指纹,然后用 WebAuthn 注册。然后我的朋友进来了,他用指纹进行了注册。那么 key(.response.attestationObject)会因为相同的物理指纹而相同,还是因为指纹不同而不同?
解决方案
[这里是部分答案,我很高兴看到社区成员的其他答案]
- 该
icon
参数已从新版本的规范中删除。
- Webauthn-1:https ://www.w3.org/TR/webauthn-1/#dictionary-pkcredentialentity
- Webauthn-2:https ://www.w3.org/TR/webauthn-2/#dictionary-pkcredentialentity
它是具有先验身份验证 URL 的属性,例如data::/
,而不是https://
你能更精确一点吗?
安全密钥通常仅由一个用户使用。每次用户使用密钥在应用程序上注册时,都会生成新的凭据。对于您提到的用例,密钥将生成 2 组凭据并与生物特征数据相关联。用户 2 没有机会以用户 1 身份登录