#![cfg_attr(
test,
allow(
unused_results,
unreachable_pub,
reason = "test code intentionally discards setup return values and exposes helpers broadly"
)
)]
extern crate self as alibi;
pub mod adapter_record;
pub mod authenticated_user;
pub mod background_tasks;
pub mod config;
#[doc(hidden)]
pub mod database_sql;
pub mod email;
pub mod endpoint;
pub mod entity;
pub mod error;
pub mod field_policy;
pub mod hooks;
pub mod middleware;
pub mod openapi;
pub mod plugin;
pub mod schema;
pub mod session;
pub mod store;
#[cfg(test)]
pub(crate) mod test_store;
pub mod types;
#[doc(hidden)]
pub mod user_query;
pub mod user_validation;
pub mod utils;
pub mod verification;
pub mod wire;
#[doc(hidden)]
pub use crate as __private_core;
pub use adapter_record::{AdapterOutput, AdapterRecord};
pub use alibi_macros::{AuthSchema, PluginConfig};
pub use authenticated_user::AuthenticatedUser;
pub use background_tasks::{
BackgroundTaskCompletion, BackgroundTaskHandler, start_background_task,
};
pub use config::{
AccountConfig, AccountLinkingConfig, AdvancedConfig, AdvancedDatabaseConfig, AuthConfig,
AwaitedNotificationErrorPolicy, CookieAttributes, CookieCacheConfig, CookieCacheStrategy,
CookieOverride, CookieRefreshCache, CrossSubDomainConfig, IpAddressConfig, JwtConfig,
ManagedSecrets, OAuthStateStrategy, PasswordConfig, SameSite, SessionConfig, UserConfig,
core_paths, extract_origin,
};
pub use email::{ConsoleEmailProvider, EmailProvider};
pub use entity::{
AuthAccount, AuthApiKey, AuthInvitation, AuthMember, AuthOrganization, AuthPasskey,
AuthSession, AuthTwoFactor, AuthUser, AuthVerification, MemberUserView,
};
pub use error::{
AuthError, AuthResult, DatabaseError, validate_request_body, validation_error_response,
};
pub use hooks::{
CallbackContext, RequestHookContext, with_request_hook_context, with_request_hook_context_value,
};
pub use middleware::{
BodyLimitConfig, BodyLimitMiddleware, CacheRateLimitStorage, CorsConfig, CorsMiddleware,
CsrfConfig, CsrfMiddleware, EndpointRateLimit, MemoryRateLimitStorage, Middleware,
PluginRateLimit, RateLimitConfig, RateLimitDecision, RateLimitMiddleware, RateLimitResolver,
RateLimitRule, RateLimitStorage,
};
pub use openapi::{
OpenApiBuilder, OpenApiEndpoint, OpenApiField, OpenApiInfo, OpenApiModel, OpenApiOperation,
OpenApiRegistry, OpenApiResponse, OpenApiSpec, PluginOpenApiMetadata,
};
pub use plugin::{
AuthContext, AuthInitContext, AuthPlugin, AuthRoute, BeforeRequestAction, ContextExtensions,
HttpEndpointResponse, HttpRequestAction, VerificationEmailOverride,
VerificationEmailOverrideHandle,
};
pub use schema::AuthSchema;
pub use session::SessionManager;
pub use session::cookie_cache::{
CacheVersionContext, CacheVersionSource, CookieCacheVersion, CookieCacheVersionResolver,
};
pub use store::{
AuthStore, AuthTransaction, CacheAdapter, ConsumeApiKeyResult, MemoryCacheAdapter,
WalletAddressStore, transaction,
};
pub use types::{
ApiKey, ApiKeyStartText, ApiKeyStartingCharacters, AuthRequest, AuthResponse,
CodeMessageResponse, CreateAccount, CreateApiKey, CreateDeviceCode, CreateInvitation,
CreateMember, CreateOrganization, CreatePasskey, CreateSession, CreateTeam, CreateTwoFactor,
CreateUser, CreateVerification, CreateWalletAddress, DeviceCode, ErrorCodeMessageResponse,
ErrorMessageResponse, Headers, HealthCheckResponse, HttpMethod, Invitation, InvitationStatus,
ListUsersParams, Member, OkResponse, Organization, OrganizationPermissions, Passkey,
RateLimitErrorResponse, RequestMeta, StatusMessageResponse, StatusResponse,
SuccessMessageResponse, SuccessResponse, Team, TeamMember, TwoFactor, UpdateAccount,
UpdateApiKey, UpdateDeviceCode, UpdateOrganization, UpdatePasskey, UpdateTeam, UpdateTwoFactor,
UpdateUser, UpdateUserRequest, UpdateUserResponse, UpdateVerification, UserFilterValue,
ValidationErrorResponse, WalletAddress,
};
pub use types::{CreateJwk, Jwk};
pub use utils::password::{
PasswordHashContext, PasswordHashHook, PasswordHasher, ScryptHasher, hash_password,
verify_password,
};
#[doc(hidden)]
pub use uuid;
pub use wire::{
AccountView, ApiKeyView, InvitationView, OrganizationView, PasskeyView, SessionView, UserView,
VerificationView,
};