webauthn_rs_core_icp/lib.rs
1//! Webauthn-rs - Webauthn for Rust Server Applications
2//!
3//! Webauthn is a standard allowing communication between servers, browsers and authenticators
4//! to allow strong, passwordless, cryptographic authentication to be performed. Webauthn
5//! is able to operate with many authenticator types, such as U2F.
6//!
7//! This library aims to provide a secure Webauthn implementation that you can
8//! plug into your application, so that you can provide Webauthn to your users.
9//!
10//! To use this library yourself, you will want to reference the `WebauthnConfig` trait to
11//! develop site specific policy and configuration, and the `Webauthn` struct for Webauthn
12//! interactions.
13
14#![allow(dead_code)]
15#![warn(unused_extern_crates)]
16#![warn(missing_docs)]
17#![deny(clippy::todo)]
18#![deny(clippy::unimplemented)]
19#![deny(clippy::unwrap_used)]
20// #![deny(clippy::expect_used)]
21#![deny(clippy::panic)]
22#![deny(clippy::unreachable)]
23#![deny(clippy::await_holding_lock)]
24#![deny(clippy::needless_pass_by_value)]
25#![deny(clippy::trivially_copy_pass_by_ref)]
26
27#[macro_use]
28extern crate tracing;
29
30#[macro_use]
31mod macros;
32
33mod constants;
34
35mod attestation;
36mod crypto;
37
38pub mod core;
39pub mod error;
40
41pub mod interface;
42/// mod
43pub mod internals;
44
45/// Protocol bindings
46pub mod proto {
47 pub use crate::interface::*;
48 pub use base64urlsafedata_icp::Base64UrlSafeData;
49 pub use webauthn_rs_proto_icp::*;
50}
51
52// pub use attestation::verify_attestation_ca_chain;
53pub use attestation::AttestationFormat;
54
55pub use crate::core::*;