A
ALLOWTHEM
DocsGitHub
EMBEDDABLE AUTHENTICATION

One auth system, every project.

An embeddable authentication system for Rust applications. Use as a library or deploy as a standalone OIDC provider. Same AuthClient trait either way.

FEATURES

Everything you need.

— 01

Dual-mode architecture

Embed as a library or deploy as a standalone service. Consuming projects code against an AuthClient trait — flip between modes with a config change.

— 02

OIDC / OAuth2

Authorization code flow with RS256 tokens and a JWKS endpoint. Google and GitHub providers built in. Account linking for users with multiple auth methods.

— 03

MFA / TOTP

Authenticator app setup with QR codes and recovery codes. Enforced or optional per configuration. TOTP secrets encrypted at rest.

— 04

Per-tenant branding

Accent color, custom fonts, splash screen, forced dark or light mode. Each application gets its own branded auth experience.

— 05

Lifecycle events

Async hooks for registration, login, password changes, and more. Integrate with your own notification, analytics, or provisioning systems.

— 06

Teams & roles

Multi-tenant user grouping with configurable role-based permissions. No enforced hierarchy — define whatever role model fits your application.

HOW IT WORKS

Three steps to auth.

01

Add the crate

[dependencies]
allowthem-core = "0.1"
02

Implement AuthClient

Wire auth into your Axum app with the trait.

impl AuthClient for MyApp {
    // configure, authenticate, authorize
}
03

Ship it

Embedded mode runs in-process. Standalone is its own binary with admin UI.

$ cargo run --bin allowthem
GET STARTED

Start building today.

One crate. Every auth feature you need.

Read the docsView on GitHub