1pub 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;
17pub mod types_impls;
18pub mod types_org;
19pub mod utils;
20
21#[cfg(feature = "derive")]
23pub use better_auth_derive::*;
24
25pub use adapters::{
27 AccountOps, ApiKeyOps, CacheAdapter, DatabaseAdapter, InvitationOps, MemberOps, MemoryAccount,
28 MemoryApiKey, MemoryCacheAdapter, MemoryDatabaseAdapter, MemoryInvitation, MemoryMember,
29 MemoryOrganization, MemoryPasskey, MemorySession, MemoryTwoFactor, MemoryUser,
30 MemoryVerification, OrganizationOps, PasskeyOps, SessionOps, TwoFactorOps, UserOps,
31 VerificationOps,
32};
33#[cfg(feature = "sqlx-postgres")]
34pub use adapters::{SqlxAdapter, SqlxEntity};
35pub use config::{
36 AccountConfig, AccountLinkingConfig, AdvancedConfig, AdvancedDatabaseConfig, Argon2Config,
37 AuthConfig, CookieAttributes, CookieCacheConfig, CookieCacheStrategy, CookieOverride,
38 CrossSubDomainConfig, IpAddressConfig, JwtConfig, PasswordConfig, SameSite, SessionConfig,
39 core_paths, extract_origin,
40};
41pub use email::{ConsoleEmailProvider, EmailProvider};
42pub use entity::{
43 AuthAccount, AuthAccountMeta, AuthApiKey, AuthApiKeyMeta, AuthInvitation, AuthInvitationMeta,
44 AuthMember, AuthMemberMeta, AuthOrganization, AuthOrganizationMeta, AuthPasskey,
45 AuthPasskeyMeta, AuthSession, AuthSessionMeta, AuthTwoFactor, AuthTwoFactorMeta, AuthUser,
46 AuthUserMeta, AuthVerification, AuthVerificationMeta, MemberUserView,
47};
48pub use error::{
49 AuthError, AuthResult, DatabaseError, validate_request_body, validation_error_response,
50};
51pub use hooks::{DatabaseHooks, HookedDatabaseAdapter};
52pub use middleware::{
53 BodyLimitConfig, BodyLimitMiddleware, CorsConfig, CorsMiddleware, CsrfConfig, CsrfMiddleware,
54 EndpointRateLimit, Middleware, RateLimitConfig, RateLimitMiddleware,
55};
56pub use openapi::{OpenApiBuilder, OpenApiInfo, OpenApiOperation, OpenApiResponse, OpenApiSpec};
57pub use plugin::{AuthContext, AuthPlugin, AuthRoute, BeforeRequestAction};
58pub use session::SessionManager;
59pub use types::{
60 Account, ApiKey, AuthRequest, AuthResponse, CodeMessageResponse, CreateAccount, CreateApiKey,
61 CreateInvitation, CreateMember, CreateOrganization, CreatePasskey, CreateSession,
62 CreateTwoFactor, CreateUser, CreateVerification, DeleteUserResponse, ErrorMessageResponse,
63 HealthCheckResponse, HttpMethod, Invitation, InvitationStatus, ListUsersParams, OkResponse,
64 Passkey, RateLimitErrorResponse, Session, StatusMessageResponse, StatusResponse, TwoFactor,
65 UpdateAccount, UpdateApiKey, UpdateOrganization, UpdatePasskey, UpdateUser, UpdateUserRequest,
66 UpdateUserResponse, User, ValidationErrorResponse, Verification,
67};
68pub use utils::password::{PasswordHasher, hash_password, verify_password};