passkey-types

Crates.iopasskey-types
lib.rspasskey-types
version0.2.0
sourcesrc
created_at2023-02-08 17:50:10.525507
updated_at2023-12-14 15:25:49.582217
descriptionRust type definitions for the webauthn and CTAP specifications
homepage
repositoryhttps://github.com/1Password/passkey-rs
max_upload_size
id780034
size189,831
(1PasswordCratePublisher)

documentation

README

Passkey Types

github path Crates.io version crate documentation

This crate contains the types defined in both the WebAuthn Level 3 and CTAP 2.0 specifications for the operations they define. They are each separated in their own modules.

Webauthn

In this module the type names mirror exactly those in the specifications for ease of navigation. They are defined in a way that allows interoperability with the web types directly as well as the JSON encoding for over network communication.

Bytes Serialization

By default, the Bytes type serializes to an array of numbers for easy conversion to array buffers on the JavaScript side. However, if you are interacting with a server directly or wish to use this crate with Android's credential-manager library, you may wish this type to serialize to Base64Url. To do so, simply enable the crate feature serialize_bytes_as_base64_string. In the future we will work on changing this behavior dynamically.

CTAP 2

In this module, seeing as the method inputs are not given explicit names, the Request and Response types are defined in separate modules for each operation. These types make use of the same data structures from the WebAuthn module. In some cases though, the types have different constraits regarding required and optional fields, in which case it is re-defined in the CTAP module along with a TryFrom implementation in either direction.

Commit count: 46

cargo fmt