Skip to main content

openauth_plugins/
lib.rs

1//! Official OpenAuth plugin module surface.
2//!
3//! Plugin modules are ported against the Better Auth upstream reference where
4//! the behavior belongs on the server side, then shaped as idiomatic Rust APIs.
5
6pub mod access;
7pub mod additional_fields;
8pub mod admin;
9pub mod anonymous;
10pub mod bearer;
11pub mod captcha;
12pub mod custom_session;
13pub mod device_authorization;
14pub mod email_otp;
15pub mod generic_oauth;
16pub mod haveibeenpwned;
17pub mod jwt;
18pub mod last_login_method;
19pub mod magic_link;
20pub mod mcp;
21pub mod multi_session;
22pub mod oauth_proxy;
23pub mod one_tap;
24pub mod one_time_token;
25pub mod open_api;
26pub mod organization;
27pub mod phone_number;
28pub mod siwe;
29pub mod two_factor;
30pub mod username;
31
32pub const PLUGIN_IDS: &[&str] = &[
33    access::UPSTREAM_PLUGIN_ID,
34    additional_fields::UPSTREAM_PLUGIN_ID,
35    admin::UPSTREAM_PLUGIN_ID,
36    anonymous::UPSTREAM_PLUGIN_ID,
37    bearer::UPSTREAM_PLUGIN_ID,
38    captcha::UPSTREAM_PLUGIN_ID,
39    custom_session::UPSTREAM_PLUGIN_ID,
40    device_authorization::UPSTREAM_PLUGIN_ID,
41    email_otp::UPSTREAM_PLUGIN_ID,
42    generic_oauth::UPSTREAM_PLUGIN_ID,
43    haveibeenpwned::UPSTREAM_PLUGIN_ID,
44    jwt::UPSTREAM_PLUGIN_ID,
45    last_login_method::UPSTREAM_PLUGIN_ID,
46    magic_link::UPSTREAM_PLUGIN_ID,
47    mcp::UPSTREAM_PLUGIN_ID,
48    multi_session::UPSTREAM_PLUGIN_ID,
49    oauth_proxy::UPSTREAM_PLUGIN_ID,
50    one_tap::UPSTREAM_PLUGIN_ID,
51    one_time_token::UPSTREAM_PLUGIN_ID,
52    open_api::UPSTREAM_PLUGIN_ID,
53    organization::UPSTREAM_PLUGIN_ID,
54    phone_number::UPSTREAM_PLUGIN_ID,
55    siwe::UPSTREAM_PLUGIN_ID,
56    two_factor::UPSTREAM_PLUGIN_ID,
57    username::UPSTREAM_PLUGIN_ID,
58];
59
60pub const VERSION: &str = env!("CARGO_PKG_VERSION");