

我正在计划重写我的网站,我想让它,我可以登录无密码,只要Windows,TouchID,或FaceID使用WebAuthn。所有的例子网上有一个完整的弹出式情况,但我希望它完成就像我的模型。我还希望我的网站检测默认的生物特征,并让生物特征图标更改为表示默认的图标,例如,FaceID的脸图标。这个网站将使用python-烧瓶、ReactJS、MySQL、CSS和HTML完成.
发布于 2022-07-11 15:11:34
这里有几个不同的地方-
Pop-up/Modal
我们先从这个开始。不幸的是,在WebAuthn仪式上出现的弹出窗口是浏览器实现的一部分。每次调用get()/create()方法时,都会调用弹出窗口。谷歌/苹果公司在他们的密码实现中做了一些工作,这看起来更像是一个“自动填充”经验,但是你仍然需要使用他们的弹出窗口。
默认为Windows等.
首先,我建议您不应该将用户限制为只使用平台认证器。安全密钥在WebAuthn中仍然起着很大的作用,对于跨设备登录非常有效。依赖平台验证器可以将用户限制在他们最初注册的设备上,或者限制设备上没有生物传感器的用户。
这样,您就可以使用PublicKeyCreationOptions显式地调用只使用平台身份验证器。在属性authenticatorSelection中有一个字段authenticatorAttachment。如果将此字段设置为" platform“,则将调用平台身份验证器(如果可用的话)。
下面是依赖方发送的请求的示例(请注意位于底部的属性authenticatorSelection ):
{
"publicKey": {
"rp": {
"name": "Example Inc",
"id": "example.com/"
},
"user": {
"name": "user",
"displayName": "user",
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"challenge": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"pubKeyCredParams": [***],
"excludeCredentials": [***],
"authenticatorSelection": {
"authenticatorAttachment": "platform"
"residentKey": "preferred",
"userVerification": "preferred"
},
"attestation": "direct",
"extensions": {}
}
}检测默认生物识别
我有一个反应例子这里。在这种方法中需要注意的是:
希望这能有所帮助。
https://stackoverflow.com/questions/72891240
复制相似问题