Skip to main content

better_auth_core/
lib.rs

1//! # Better Auth Core
2//!
3//! Core abstractions for the Better Auth authentication framework.
4//! Contains traits, types, configuration, and error handling.
5
6pub mod adapters;
7pub mod config;
8pub mod email;
9pub mod entity;
10pub mod error;
11pub mod hooks;
12pub mod middleware;
13pub mod openapi;
14pub mod plugin;
15pub mod session;
16pub mod types;
17
18// Re-export derive macros when the `derive` feature is enabled
19#[cfg(feature = "derive")]
20pub use better_auth_derive::*;
21
22// Re-export commonly used items
23#[cfg(feature = "sqlx-postgres")]
24pub use adapters::SqlxAdapter;
25pub use adapters::{CacheAdapter, DatabaseAdapter, MemoryCacheAdapter, MemoryDatabaseAdapter};
26pub use config::{Argon2Config, AuthConfig, JwtConfig, PasswordConfig, SameSite, SessionConfig};
27pub use email::{ConsoleEmailProvider, EmailProvider};
28pub use entity::{
29    AuthAccount, AuthInvitation, AuthMember, AuthOrganization, AuthPasskey, AuthSession,
30    AuthTwoFactor, AuthUser, AuthVerification, MemberUserView,
31};
32pub use error::{
33    AuthError, AuthResult, DatabaseError, validate_request_body, validation_error_response,
34};
35pub use hooks::{DatabaseHooks, HookedDatabaseAdapter};
36pub use middleware::{
37    BodyLimitConfig, BodyLimitMiddleware, CorsConfig, CorsMiddleware, CsrfConfig, CsrfMiddleware,
38    EndpointRateLimit, Middleware, RateLimitConfig, RateLimitMiddleware,
39};
40pub use openapi::{OpenApiBuilder, OpenApiInfo, OpenApiOperation, OpenApiResponse, OpenApiSpec};
41pub use plugin::{AuthContext, AuthPlugin, AuthRoute};
42pub use session::SessionManager;
43pub use types::{
44    Account, AuthRequest, AuthResponse, CreateAccount, CreateSession, CreateUser,
45    CreateVerification, DeleteUserResponse, HttpMethod, Passkey, Session, TwoFactor, UpdateUser,
46    UpdateUserRequest, UpdateUserResponse, User, Verification,
47};