argon2 defaults are sensible — migrated off bcrypt without surprises.
Umbral Auth
Official Featured by Umbral contributorsusers, groups, login routes, argon2, reset flows
About
Every app hits the same wall on day two: who is this request, and are they allowed? Umbral Auth answers it out of the box — a battle-tested AuthUser model, groups, argon2 password hashing with sane defaults, opaque DB-backed API tokens, and password-reset flows. Its LoggedIn<T> extractor turns "is the caller authenticated?" into a function argument the compiler enforces: a handler that takes LoggedIn<AuthUser> simply cannot run for an anonymous request.
Install
Wire it up
use *;
use ;
use SessionsPlugin;
let app = builder
.database
.plugin
.plugin
.build?;
Target: lock a route to signed-in users
The extractor is the gate. If it can't build an authenticated user, the handler never runs.
use ;
async
What you get
AuthUser+ groups/roles, ready to migrate- Argon2 password hashing (drop-in from bcrypt without surprises)
- Opaque, hashed-at-rest bearer tokens for API clients
LoggedIn<T>/login_required_html("/login")guards- Token-based password reset (email delivery via umbral-email)
- Pairs with umbral-oauth for Google / GitHub social login
Usage
Pair with `SessionsPlugin` (auth stores its session there). `with_default_routes()` mounts /login, /logout and /signup; `with_user_in_templates()` injects `user` into every template so your base layout's nav can branch on `user.is_authenticated`.
cargo add umbral-auth
Feature tracker
Per-feature shipping status, recorded in the directory.
Built-in AuthUser plus groups and roles.
Modern password hashing with sensible defaults.
Group/permission M2M checks via umbral-permissions.
Opaque DB-backed API tokens, hashed at rest.
Login, logout, signup, and route guards for HTML apps.
Token-based reset flow with email action throttling.
Sign in with Google/GitHub and connect accounts (umbral-oauth).
Verification-code lifecycle and require-verified route guards.
HTML auth forms and JSON-friendly handlers for API clients.
Typed plugin support for swapping the auth user model.
Enterprise single sign-on provider support.
Compatibility
Declared support per Umbral version and database backend.
No compatibility rows declared yet.
Community notes
1 note in the discussion thread.
Reported issues
Bugs and abuse reports filed against this plugin.
No open issues
No issues have been reported against this plugin. Track upstream bugs on the maintainer's tracker, or report a directory problem to the Umbral team.