webauthn - 使用常驻密钥时,信赖方如何确定用户?
问题描述
当客户端可发现的常驻密钥与 WebAuthN 一起使用时,依赖方不必首先识别尝试登录的用户。那么 RP 是如何知道哪个用户登录的呢?RP 是否只收到 AuthenticatorAssertionResponse 并从中获取 user.id?
解决方案
断言响应中的值response.userHandle
可用于识别正在登录的用户——它将等于传递给.user.id
PublicKeyCredentialCreationOptions
navigator.credentials.create()
userHandle
是一个可能未定义的值,但是当在证明期间需要常驻密钥时,身份验证器必须记住用户 ID -请参阅操作的步骤 7.4authenticatorMakeCredential
(用户句柄是身份验证器在其内部凭证映射中使用的密钥的一部分,以记住可发现的给定 RP ID 和用户句柄的凭证)。
推荐阅读
- python - 如何使用环境变量设置 boto3 连接超时和读取超时?
- django - 将 postgres 数据库与 heroku 连接
- python - 为什么我的 Matplotlib 子图大小不同?
- macos - mvn compile org.apache.maven.wagon.TransferFailedException:传输失败
- javascript - 开玩笑:不允许覆盖模拟方法
- javascript - 替换或模拟导入另一个文件
- java - 如何对齐添加到拆分窗格的标签和文本字段?
- java - 在java中解析一段时间后,无法通过循环解析网页中的HTML元素
- javascript - 输入新项目时如何清除和刷新搜索结果?
- oracle-apex - 如果我将 LOV 选择列表值置于单击按钮事件的条件中,则不会触发动态操作