Skip to content

Better Auth. Now in Rust.

Authentication that fits your application. Your database, your models, your stack.
use better_auth::plugins::EmailPasswordPlugin;
use better_auth::{AuthBuilder, AuthResult, AuthSchema, BetterAuth};
async fn with_passwords<S: AuthSchema>(builder: AuthBuilder<S>) -> AuthResult<BetterAuth<S>> {
builder
.plugin(EmailPasswordPlugin::new().enable_signup(true))
.build()
.await
}

Start with the complete setup, then add the plugins your application needs.

Your database

Use SQLx or SeaORM with application-owned models and migrations. Keep authentication alongside your application data.

Rust throughout

Async APIs, typed schemas, and Axum session extractors. Compose authentication in the same language as your backend.

Room to grow

Email/password, OAuth, passkeys, two-factor authentication, organizations, and API keys, configured with Rust plugins.

A familiar API

Better Auth’s HTTP semantics, tested against its pinned runtime and official client. Native APIs where Rust needs them.