1#![cfg_attr(
7 test,
8 allow(
9 unused_results,
10 unreachable_pub,
11 reason = "test code intentionally discards setup return values and exposes helpers broadly"
12 )
13)]
14
15extern crate self as alibi;
16
17pub mod adapter_record;
18pub mod authenticated_user;
19pub mod background_tasks;
20pub mod config;
21#[doc(hidden)]
22pub mod database_sql;
23pub mod email;
24pub mod endpoint;
25pub mod entity;
26pub mod error;
27pub mod field_policy;
28pub mod hooks;
29pub mod middleware;
30pub mod oauth_token_conversion;
31pub mod openapi;
32pub mod plugin;
33pub mod schema;
34pub mod session;
35pub mod store;
36#[cfg(test)]
37pub(crate) mod test_store;
38pub mod types;
39#[doc(hidden)]
40pub mod user_query;
41pub mod user_validation;
42pub mod utils;
43pub mod verification;
44pub mod wire;
45
46#[doc(hidden)]
47pub use crate as __private_core;
48pub use adapter_record::{AdapterOutput, AdapterRecord};
49pub use alibi_macros::{AuthSchema, PluginConfig};
50pub use authenticated_user::AuthenticatedUser;
51pub use background_tasks::{
52 BackgroundTaskCompletion, BackgroundTaskHandler, start_background_task,
53};
54pub use config::{
55 AccountConfig, AccountLinkingConfig, AdvancedConfig, AdvancedDatabaseConfig, AuthConfig,
56 AwaitedNotificationErrorPolicy, CookieAttributes, CookieCacheConfig, CookieCacheStrategy,
57 CookieOverride, CookieRefreshCache, CrossSubDomainConfig, IpAddressConfig, JwtConfig,
58 ManagedSecrets, OAuthStateStrategy, PasswordConfig, SameSite, SessionConfig, UserConfig,
59 core_paths, extract_origin,
60};
61pub use email::{ConsoleEmailProvider, EmailProvider};
62pub use entity::{
63 AuthAccount, AuthApiKey, AuthInvitation, AuthMember, AuthOrganization, AuthPasskey,
64 AuthSession, AuthTwoFactor, AuthUser, AuthVerification, MemberUserView,
65};
66pub use error::{
67 AuthError, AuthResult, DatabaseError, validate_request_body, validation_error_response,
68};
69pub use hooks::{
70 CallbackContext, RequestHookContext, with_request_hook_context, with_request_hook_context_value,
71};
72pub use middleware::{
73 BodyLimitConfig, BodyLimitMiddleware, CacheRateLimitStorage, CorsConfig, CorsMiddleware,
74 CsrfConfig, CsrfMiddleware, EndpointRateLimit, MemoryRateLimitStorage, Middleware,
75 PluginRateLimit, RateLimitConfig, RateLimitDecision, RateLimitMiddleware, RateLimitResolver,
76 RateLimitRule, RateLimitStorage,
77};
78pub use openapi::{
79 OpenApiBuilder, OpenApiEndpoint, OpenApiField, OpenApiInfo, OpenApiModel, OpenApiOperation,
80 OpenApiRegistry, OpenApiResponse, OpenApiSpec, PluginOpenApiMetadata,
81};
82pub use plugin::{
83 AuthContext, AuthInitContext, AuthPlugin, AuthRoute, BeforeRequestAction, ContextExtensions,
84 HttpEndpointResponse, HttpRequestAction, VerificationEmailOverride,
85 VerificationEmailOverrideHandle,
86};
87pub use schema::AuthSchema;
88pub use session::SessionManager;
89pub use session::cookie_cache::{
90 CacheVersionContext, CacheVersionSource, CookieCacheVersion, CookieCacheVersionResolver,
91};
92pub use store::{
93 AuthStore, AuthTransaction, CacheAdapter, ConsumeApiKeyResult, MemoryCacheAdapter,
94 WalletAddressStore, transaction,
95};
96pub use types::{
97 ApiKey, ApiKeyStartText, ApiKeyStartingCharacters, AuthRequest, AuthResponse,
98 CodeMessageResponse, CreateAccount, CreateApiKey, CreateDeviceCode, CreateInvitation,
99 CreateMember, CreateOrganization, CreatePasskey, CreateSession, CreateTeam, CreateTwoFactor,
100 CreateUser, CreateVerification, CreateWalletAddress, DeviceCode, ErrorCodeMessageResponse,
101 ErrorMessageResponse, Headers, HealthCheckResponse, HttpMethod, Invitation, InvitationStatus,
102 ListUsersParams, Member, OkResponse, Organization, OrganizationPermissions, Passkey,
103 RateLimitErrorResponse, RequestMeta, StatusMessageResponse, StatusResponse,
104 SuccessMessageResponse, SuccessResponse, Team, TeamMember, TwoFactor, UpdateAccount,
105 UpdateApiKey, UpdateDeviceCode, UpdateOrganization, UpdatePasskey, UpdateTeam, UpdateTwoFactor,
106 UpdateUser, UpdateUserRequest, UpdateUserResponse, UpdateVerification, UserFilterValue,
107 ValidationErrorResponse, WalletAddress,
108};
109pub use types::{CreateJwk, Jwk};
110pub use utils::password::{
111 PasswordHashContext, PasswordHashHook, PasswordHasher, ScryptHasher, hash_password,
112 verify_password,
113};
114#[doc(hidden)]
115pub use uuid;
116pub use wire::{
117 AccountView, ApiKeyView, InvitationView, OrganizationView, PasskeyView, SessionView, UserView,
118 VerificationView,
119};