用于密钥的工具和库

本主题包含有关工具和库的信息,可帮助你实现通行密钥。

Libraries

选择条件

如果想要在内部拥有无密码身份验证,或者想要为密钥实现一个交钥匙解决方案,则可能需要查找库或供应商。 选择库以实现密钥时,作为信赖方(RP)的开发人员应该注意什么?

注意

这些条件中的一小部分不是特定于密钥的,但在选择开源解决方案时要记住这一点很有用。

WebAuthn 版本和功能

  • 版本。 检查库支持的规格版本(级别 2、级别 3 等)。
  • 特性和功能。 检查库是否包含用例的关键特性和功能。
    • 库是否有助于生成注册和身份验证选项? 它是否有助于验证注册和身份验证响应? 从信赖方(RP)的角度来看,这些是实现的关键步骤。 因此,请确保选择的库为这些步骤提供了有用的函数。
    • 如果考虑使用证明功能:
      • 库是否有助于以某种方式利用 FIDO MDS?
      • 库是否可以验证所有证明语句格式?

验证步骤

检查库是否遵循必要的验证步骤:

  • 注册期间。
  • 在身份验证期间。

用户界面(UI)和用户体验(UX)

如果要查找提供 UI 元素的库:

  • 视觉一致性。 检查解决方案是否使用标准化图标。
  • 清除语言。 使用纯语言的说明对于更广泛的用户理解至关重要。 确定符合 FIDO UX 准则的解决方案的优先级。

开发人员体验

  • 全堆栈覆盖。 提供紧密集成的前端和后端组件的库(例如 SimpleWebAuthn)可以简化集成。
  • 开发人员文档。 为了简化集成过程,请检查该库是否具有维护的文档网站。

开发人员参与和维护

  • 开源维护。 对于开源选项,请调查其社区活动。 一些活动问题,或具有最新标签的许多问题(假设需要手动分配的问题)和参与者的评论都是活动社区的信号。
  • 耐心。 标准可能会缓慢移动。 因此,如果更新没有任何实际问题,WebAuthn/passkey 库在更新之间可能会很长一段时间。 但这并不意味着图书馆不受管理。

许可

在项目的上下文中查看解决方案的许可模型(例如 MIT、Apache、commercial)。

更新了密钥

其他 FIDO2/WebAuthn 库

WebAuthn Awesome GitHub 存储库也会定期使用社区中的库进行更新。

测试站点和工具

除了下面各节中列出的资源外, WebAuthn Awesome GitHub 存储库还会定期使用社区中的工具和演示进行更新。

基本 FIDO2/WebAuthn 工具

高级 FIDO2/WebAuthn 工具

后续步骤

接下来,请参阅 密钥参考。

更多信息