#webauthn #ctap #fido2 #passkey #passwordless

passkey-types

Rust类型定义,用于WebAuthn和CTAP规范

4个版本 (2个破坏性版本)

0.2.0 2023年12月14日
0.1.1 2023年7月28日
0.1.0 2023年2月22日
0.0.1 2023年2月8日

#967身份验证

Download history 1955/week @ 2024-04-09 1733/week @ 2024-04-16 2596/week @ 2024-04-23 2164/week @ 2024-04-30 1937/week @ 2024-05-07 2597/week @ 2024-05-14 2211/week @ 2024-05-21 2797/week @ 2024-05-28 2774/week @ 2024-06-04 4133/week @ 2024-06-11 5463/week @ 2024-06-18 5354/week @ 2024-06-25 3431/week @ 2024-07-02 7509/week @ 2024-07-09 9566/week @ 2024-07-16 8727/week @ 2024-07-23

30,365 每月下载量
3 crates 中使用

MIT/Apache

190KB
2.5K SLoC

Passkey Types

github path Crates.io version crate documentation

此crate包含在WebAuthn Level 3CTAP 2.0规范中定义的类型,用于它们定义的操作。它们各自分开在它们自己的模块中。

Webauthn

在此模块中,类型名称与规范中的名称完全一致,以便于导航。它们被定义为可以直接与Web类型以及JSON编码进行互操作,以便在网络通信中。

字节序列化

默认情况下,Bytes类型序列化为数字数组,便于在JavaScript端转换为数组缓冲区。然而,如果您直接与服务器交互或希望使用此crate与Android的credential-manager库一起使用,您可能希望此类型序列化为Base64Url。要实现这一点,只需启用crate功能serialize_bytes_as_base64_string。在未来,我们将努力动态更改此行为。

CTAP 2

在此模块中,由于方法输入未给出明确的名称,因此RequestResponse类型为每个操作定义在单独的模块中。这些类型使用WebAuthn模块中的相同数据结构。但在某些情况下,类型对所需和可选字段有不同的约束,在这种情况下,它将在CTAP模块中重新定义,并实现一个双向的TryFrom

依赖关系

~4–11MB
~111K SLoC