[−][src]Crate webauthn_rs
Webauthn-rs - Webauthn for Rust Server Applications
Webauthn is a standard allowing communication between servers, browsers and authenticators to allow strong, passwordless, cryptographic authentication to be performed. Webauthn is able to operate with many authenticator types, such as U2F.
This library aims to provide a secure Webauthn implementation that you can plug into your application, so that you can provide Webauthn to your users.
For examples, see our examples folder.
To use this library yourself, you will want to reference the WebauthnConfig
trait to
develop site specific policy and configuration, and the Webauthn
struct for Webauthn
interactions.
Modules
attestation | Attestation information and verifications procedures. This contains a transparent type allowing callbacks to make attestation decisions. See the WebauthnConfig trait for more details. |
crypto | Cryptographic operation wrapper for Webauthn. This module exists to allow ease of auditing, safe operation wrappers for the webauthn library, and cryptographic provider abstraction. This module currently uses OpenSSL as the cryptographic primitive provider. |
ephemeral | An implementation of an Ephemeral (in-memory) webauthn configuration provider This stores all challenges and credentials in memory - IE they are lost on service restart. It's only really useful for demo-sites, testing and as an example/reference implementation of the WebauthnConfig trait. |
error | Possible errors that may occur during Webauthn Operation processing |
proto | JSON Protocol Structs and representations for communication with authenticators and clients. |
Structs
AuthenticationState | The in progress state of an authentication attempt. You must persist this associated to the UserID requesting the registration. |
RegistrationState | The in progress state of a credential registration attempt. You must persist this associated to the UserID requesting the registration. |
Webauthn | This is the core of the Webauthn operations. It provides 4 interfaces that you will likely use the most: |
Traits
WebauthnConfig | The WebauthnConfig type allows site-specific customisation of the Webauthn library. This provides a set of callbacks which are used to supply data to various structures and calls, as well as callbacks to manage data persistence and retrieval. |