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