Open source · MIT · self-hosted
One auth server for all of your apps.
Deploy au1h once. Every product you build gets login, sessions, OAuth and JWTs, and the same email is a separate user in each one. Your backend verifies a token or trusts the gateway.
bun add @au1h/client @au1h/server- Per-app isolationSame email, different user, password and session in every app.
- Zero auth code in your backendVerify an EdDSA JWT against a public JWKS, or sit behind the gateway.
- Built on Better AuthEmail + password, OAuth, magic links, OTP, organizations. Postgres and Redis.
Verify a user on your backend — Hono
import { createVerifier } from "@au1h/server";import { requireAu1hUser } from "@au1h/server/hono";const au1h = createVerifier({ au1hUrl: AU1H_URL, appSlug: "todo" });app.use("/api/*", requireAu1hUser(au1h));app.get("/api/me", (c) => c.json(c.get("au1hUser")));