0.2.0 — initial public working release
[0.2.0] - 2026-06-14
Initial public working release of RustAuth — an unofficial Rust authentication toolkit
inspired by Better Auth. This is the first published
release line under the rustauth / rustauth-* crate namespace.
Added
Core (rustauth, rustauth-core)
- Framework-neutral auth server:
RustAuth,RustAuthBuilder,RustAuthOptions, sessions,
cookies, rate limiting, email/password (opt-in), account linking, verification flows, and
Better Auth–shaped HTTP JSON (camelCase request/response bodies). rustauth::preludefor the recommended application surface.AuthPluginhook system, global hooks, background task dispatch, and outbound email/SMS
delivery viadispatch_outbound(never block HTTP responses on senders).- Database schema planning, SQL migrations, secondary storage contracts, and standalone
rate-limit stores (memory, SQL, Redis/Valkey). rustauth.toml+rustauth dbCLI integration for schema status, generate, and migrate.- Default cookie prefix
rustauth; configuration viaRUSTAUTH_*environment variables and
rustauth.toml.
Web integration (rustauth-axum)
- Axum router mounting via
RustAuthAxumExt(mount_at_base_path,into_router,handle, …).
CLI (rustauth-cli)
rustauth init,info,secret,db status|generate|migrate, plugin/schema helpers,
parity with Better Auth v1.6.9 CLI flows, and opt-in telemetry for generate/migrate.
Official plugins (rustauth-plugins)
- Access control, additional fields, admin, anonymous users, API keys, bearer sessions,
CAPTCHA, custom sessions, device authorization, email OTP, generic OAuth, Have I Been
Pwned, JWT, last login method, magic link, multi-session, OAuth proxy, one-tap, one-time
tokens, OpenAPI, organizations (with dynamic access control), phone number, SIWE, two-factor,
and username plugins.
Enterprise identity
rustauth-oauth— OAuth 2.0/OIDC client primitives (OAuth2Client, flow builders, PKCE,
guarded outbound HTTP).rustauth-social-providers— built-in social OAuth providers (GitHub, Google, Discord, Slack,
Apple, and more) withSocialProviderConfig.rustauth-oauth-provider— OAuth 2.1 / OpenID Connect authorization server, consent, token,
introspection, logout, userinfo, and optional MCP protected-resource metadata.rustauth-oidc— OIDC relying-party helpers for external IdPs.rustauth-saml— experimental SAML 2.0 service-provider helpers.rustauth-sso— enterprise SSO aggregator with provider management and domain verification.rustauth-scim— SCIM 2.0 provisioning (users, groups, bulk, filter, patch).rustauth-passkey— WebAuthn / passkey plugin (webauthn-rs).rustauth-stripe— Stripe billing and webhook integration.rustauth-i18n— localized auth responses with async locale resolution.rustauth-telemetry— optional anonymous telemetry payloads.
Storage adapters
rustauth-sqlx— SQLite, Postgres, and MySQL via SQLx.rustauth-tokio-postgres— minimaltokio-postgresadapter.rustauth-deadpool-postgres— pooled Postgres for production.rustauth-redis— Redis/Valkey rate limits and secondary storage (redis-rs).rustauth-fred— Redis/Valkey rate-limit store (fredclient).
Examples and docs
examples/backend-reference,examples/full-app, andexamples/cli-migrate-playground.- Parity documentation against Better Auth 1.6.9 under
docs/parity/. - Documentation site at rustauth.dev.
Notes
- Email/password sign-in and sign-up are opt-in (
EmailPasswordOptions::enabled(true)). - Several crates ship with
default = []; enable dialect/features explicitly (sqlite,oidc,
http,jose, enterprise plugin features, orfullon the umbrellarustauthcrate). - Apply schema with
rustauth db migratebefore serving traffic;RustAuth::run_migrationsis
not part of the public server API. - Public duration fields use
time::Durationdirectly across core, plugins, and passkey options.