Module webauthn_rs::prelude

source ·
Expand description

A prelude of types that are used by Webauthn

Re-exports§

Structs§

  • A structure representing an Attestation CA and other options associated to this CA.
  • A list of AttestationCas and associated options.
  • AttestedPasskeyattestation
    An attested passkey for a user. This is a specialisation of Passkey as you can limit the make and models of authenticators that a user may register. Additionally these keys will always enforce user verification.
  • An in progress authentication session for a AttestedPasskey.
  • An in progress registration session for a AttestedPasskey.
  • AttestedResidentKeyresident-key-support
    An attested resident key belonging to a user. These are a specialisation of AttestedPasskey where the devices in use can be attested. In addition this type enforces keys to be resident on the authenticator.
  • An in progress authentication session for a AttestedResidentKey.
  • An in progress registration session for an AttestedResidentKey.
  • Information about the authentication that occurred.
  • The in progress state of an authentication attempt. You must persist this associated to the UserID requesting the registration.
  • Serde wrapper for Vec<u8> which always emits URL-safe, non-padded Base64, and accepts Base64 and binary formats.
  • A COSE Elliptic Curve Public Key. This is generally the provided credential that an authenticator registers, and is used to authenticate the user. You will likely never need to interact with this value, as it is part of the Credential API.
  • A COSE Key as provided by the Authenticator. You should never need to alter or change these values.
  • A COSE Elliptic Curve Public Key. This is generally the provided credential that an authenticator registers, and is used to authenticate the user. You will likely never need to interact with this value, as it is part of the Credential API.
  • A COSE RSA PublicKey. This is a provided credential from a registered authenticator. You will likely never need to interact with this value, as it is part of the Credential API.
  • A JSON serializable challenge which is issued to the user’s web browser for handling. This is meant to be opaque, that is, you should not need to inspect or alter the content of the struct - you should serialise it and transmit it to the client only.
  • An in progress authentication session for a DiscoverableKey. Passkey and AttestedResidentKey can be used with these workflows.
  • DiscoverableKeyconditional-ui
    A key that can be used in discoverable workflows. Within this library Passkeys may be discoverable on an opportunistic bases, and AttestedResidentKeys will always be discoverable.
  • The processed attestation and its metadata
  • A Passkey for a user. A passkey is a term that covers all possible authenticators that may exist. These could be roaming credentials such as Apple’s Account back passkeys, they could be a users Yubikey, a Windows Hello TPM, or even a password manager softtoken.
  • An in progress authentication session for a Passkey.
  • An in progress registration session for a Passkey.
  • A client response to an authentication challenge. This contains all required information to asses and assert trust in a credentials legitimacy, followed by authentication to a user.
  • A client response to a registration challenge. This contains all required information to assess and assert trust in a credential’s legitimacy, followed by registration to a user.
  • A JSON serializable challenge which is issued to the user’s webbrowser for handling. This is meant to be opaque, that is, you should not need to inspect or alter the content of the struct - you should serialise it and transmit it to the client only.
  • A Security Key for a user. These are the legacy “second factor” method of security tokens.
  • An in progress authentication session for a SecurityKey.
  • An in progress registration session for a SecurityKey.
  • A parsed URL record.
  • A Universally Unique Identifier (UUID).

Enums§

  • The type of attestation on the credential
  • The processed Attestation that the Authenticator is providing in its AttestedCredentialData. This metadata may allow identification of the device and its specific properties.
  • The authenticator attachment hint. This is NOT enforced, and is only used to help a user select a relevant authenticator type.
  • A COSE signature algorithm, indicating the type of key and hash type that should be used. You shouldn’t need to alter or use this value.
  • The type of Key contained within a COSE value. You should never need to alter or change this type.
  • The numeric if of the COSEKeyType used in the CBOR fields.
  • An ECDSACurve identifier. You probably will never need to alter or use this value, as it is set inside the Credential for you.
  • An EDDSACurve identifier. You probably will never need to alter or use this value, as it is set inside the Credential for you.
  • The processed Attestation that the Authenticator is providing in its AttestedCredentialData
  • Possible errors that may occur during Webauthn Operation processing.

Type Aliases§