代码之家  ›  专栏  ›  技术社区  ›  empy26

Webauthn,如何知道何时删除服务器上过时的设备凭据?

  •  0
  • empy26  · 技术社区  · 2 年前

    我正在尝试在我的网站上实现WebAuthn身份验证。用户可以注册多个验证器(如笔记本电脑、平板电脑、智能手机),并使用每个验证器进行登录。所有这些注册的验证器都存储在数据库中,这就是我在登录过程中识别用户的方式。

    然而,当用户在其验证器中手动删除网站凭据时,我遇到了一个问题(例如,您可以输入iCloud并删除特定凭据)。在这种情况下,用户无法再次重新注册同一设备(因为在注册过程中,服务器指定 excludeCredentials 领域此外,用户无法在该设备上登录到系统,因为他删除了凭据,而服务器不知道这一点。

    有办法解决这个问题吗?

    0 回复  |  直到 2 年前
        1
  •  0
  •   Tim    2 年前

    然而,当用户手动删除网站时,我遇到了一个问题 他的验证器中的凭据(例如,您可以输入您的iCloud 并移除特定凭证)。在这种情况下,用户不能 再次重新注册同一设备(因为在注册过程中 进程服务器指定excludeCredentials字段)。

    如果密钥不再在验证器中,则它将与excludeCredentials列表不匹配,并且可以在该验证器中再次创建。

    此外,用户不能在该设备上登录到系统,因为他 删除了凭据,服务器不知道这一点。

    大多数身份验证程序都会向用户发出警告,即删除密钥可能会阻止他们访问自己的帐户。没有什么可以做的了。