Webauthn - Windows Hello 身份验证器选择不起作用
Posted
技术标签:
【中文标题】Webauthn - Windows Hello 身份验证器选择不起作用【英文标题】:Webauthn - Windows Hello authenticatorSelection is not working 【发布时间】:2021-12-05 06:02:45 【问题描述】:我只是在开发一个示例节点 js 应用程序来在 Windows 10 上玩 webauthn。
challenge: challenge,
rp:
name: "Example CORP",
id : "localhost"
,
user:
id: new Uint8Array(16),
name: "jdoe@example.com",
displayName: "John Doe"
,
pubKeyCredParams: [
type: "public-key",
alg: -7
],authenticatorSelection:
authenticatorAttachment: "platform" //cross-platform is working fine
,
timeout: 60000
;
const credential = navigator.credentials.create(
publicKey: publicKey
);
我确实收到了以下错误,但我没有看到任何 Windows Hello 模式窗口。
login:32 publicKey.authenticatorSelection.userVerification was not set to any value in Web Authentication navigator.credentials.create() call. This defaults to 'preferred', which is probably not what you want. If in doubt, set to 'discouraged'. See https://chromium.googlesource.com/chromium/src/+/master/content/browser/webauth/uv_preferred.md for details
我还缺少任何其他参数吗?
-- 湿婆
【问题讨论】:
【参考方案1】:您没有在 authenticatorSelection
对象中定义 userVerification
属性。
来自W3.org:
让
userVerification
成为断言的有效用户验证要求:
设置为必需 让
userVerification
为真。
设置为不鼓励 让
userVerification
为假。
设置为首选 如果验证者 能够进行用户验证 让
userVerification
为真。 如果身份验证器无法进行用户验证 让userVerification
为假。
authenticatorSelection:
authenticatorAttachment: "platform",
userVerification: "required"
,
【讨论】:
以上是关于Webauthn - Windows Hello 身份验证器选择不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用 WebAuthN 可以拒绝某些类型的身份验证方法 FIDO2)
.Net 中的 WebAuthN 和 BouncyCastle
如何为Android和IOS实现FIDO2(WebAuthn)