rustauth_plugins/two_factor/
mod.rs1mod backup_codes;
4mod cookies;
5mod errors;
6mod flow;
7mod options;
8mod otp;
9mod otp_routes;
10mod otp_storage;
11mod payloads;
12mod routes;
13mod schema;
14mod store;
15mod totp;
16
17pub use backup_codes::{decode_backup_codes, encode_backup_codes, generate_backup_codes};
18pub use errors::TWO_FACTOR_ERROR_CODES;
19pub use options::{
20 BackupCodeOptions, BackupCodeStorage, OtpDecryptFn, OtpEncryptFn, OtpHashFn, OtpOptions,
21 OtpStorage, SendOtp, TotpOptions, TwoFactorOptions, TwoFactorOptionsBuilder,
22};
23pub use totp::{totp_code, totp_uri, verify_totp_code};
24
25use rustauth_core::plugin::AuthPlugin;
26
27pub const UPSTREAM_PLUGIN_ID: &str = "two-factor";
28
29#[must_use]
30pub fn two_factor(options: TwoFactorOptions) -> AuthPlugin {
31 let options = std::sync::Arc::new(options);
32 routes::plugin(options)
33}