Skip to main content

Crate alibi_core

Crate alibi_core 

Source
Expand description

§Alibi Core

Core abstractions for the Alibi authentication framework. Contains traits, types, configuration, and error handling.

Re-exports§

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

Modules§

adapter_record
Retained adapter output alongside immutable, typed storage authority.
authenticated_user
Authenticated identity without inventing an application-owned storage model.
background_tasks
Application observation of already running background work.
config
email
endpoint
Trusted endpoint calls keep logical input separate from an optional HTTP request.
entity
Entity traits for the Alibi framework.
error
field_policy
Application and plugin field policies at the session input boundary.
hooks
middleware
openapi
plugin
schema
Schema traits for binding Alibi to application-owned auth models.
session
store
types
user_validation
Application identity policy at the endpoint’s actual admission boundary.
utils
Shared utility modules for alibi-core.
verification
Initialized verification policy, raw snapshots and adapter publication phases.
wire
Concrete auth types for API responses and framework callbacks.

Macros§

impl_auth_plugin
Generates the AuthPlugin impl for a plugin with static route dispatch.

Derive Macros§

AuthSchema
PluginConfig