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 seperated in their own modules.
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.
In this module, seeing as the method inputs are not given explicit names, the Request
and Response
types are defined in seperate 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.