A
ALLOWTHEM
DocsGitHub

Overview

allowthem is an embeddable authentication system. It can run as a Rust library (embedded mode) or as a standalone OIDC provider (external mode). Consuming projects code against an AuthClient trait, so switching between modes requires only a configuration change.

Dual-mode architecture

Embedded mode — add allowthem-core as a dependency. Tables live in your database with an allowthem_ prefix. Sessions, passwords, MFA, roles — all managed in-process.

Standalone mode — run the allowthem binary as a separate service. It exposes OIDC endpoints, signs RS256 tokens, publishes a JWKS endpoint, and provides an admin UI for user management.

When to use which

Use embedded mode when you want auth as a library with full control over the database and configuration. Use standalone mode when you need a shared identity provider across multiple services.