当客户端可发现驻留 key 与 WebAuthN 结合使用时,依赖方无需首先识别尝试登录的用户。那么 RP 如何知道哪个用户登录了? RP 是否只接收 AuthenticatorAssertionResponse 并从中获取 user.id?
最佳答案
断言响应中的 response.userHandle
值可用于识别正在登录的用户 - 它将等于传递给 navigator.credentials 的
.PublicKeyCredentialCreationOptions
中设置为 user.id
的值.create()
userHandle
是一个潜在的未定义值,但是当证明期间需要驻留 key 时,身份验证器必须记住用户 ID - see Step 7.4 of the authenticatorMakeCredential
operation(用户句柄是身份验证器在其内部凭据映射中使用的 key 的一部分,用于记住给定 RP ID 和用户句柄的可发现凭据。
关于webauthn - 使用常驻 key 时依赖方如何确定用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67410293/