Identity.
Solved.
Self-hosted IAM server with OAuth 2.0, OpenID Connect, SAML 2.0, and MFA. Deploy in 30 seconds. Own your auth forever.
Everything you need to secure your stack
Enterprise-grade IAM features without the enterprise complexity. Self-hosted, open-source, and ready in seconds.
Standards-Based Auth
Full OAuth 2.0 with PKCE, OpenID Connect Core 1.0, and SAML 2.0 support. Authorization Code, Client Credentials, Device Code, and Refresh Token grants.
Multi-Factor Auth
TOTP-based MFA compatible with Google Authenticator, Authy, and Microsoft Authenticator. Recovery codes, brute force protection, and account lockout.
Multi-Tenant Realms
Isolated tenants with independent users, clients, roles, groups, signing keys, themes, and configurations. Perfect for SaaS platforms.
Federation & Social Login
LDAP/Active Directory sync, OIDC and SAML identity provider brokering. Connect Google, GitHub, Azure AD, or any compliant IdP.
Developer SDK
Zero-dependency TypeScript SDK with React hooks. 5 lines to authenticate. Works with Next.js, Vite, or any OIDC-compliant library.
Production Ready
Prometheus metrics, health checks, rate limiting, Helmet security headers. Fully stateless design for horizontal scaling behind any load balancer.
Integrate in minutes, not days
Zero-dependency TypeScript SDK with React hooks. Install from npm, add 5 lines of code, and your app has enterprise-grade authentication.
OAuth 2.0 + PKCE flow with automatic token refresh
React hooks: useAuthme(), useUser(), useRoles()
Works with Next.js, Vite, or any OIDC-compliant library
npm install authme-sdk
import { AuthmeClient } from 'authme-sdk';
const authme = new AuthmeClient({
url: 'https://auth.example.com',
realm: 'my-realm',
clientId: 'my-app',
redirectUri: 'http://localhost:5173/callback',
});
await authme.init();
if (!authme.isAuthenticated()) {
await authme.login();
}Built on proven technology
A modern, modular architecture designed for reliability and horizontal scaling.
AuthMe vs. The Rest
See how AuthMe stacks up against the most popular identity solutions.
| Feature | Recommended AuthMe | Keycloak | Auth0 | Clerk |
|---|---|---|---|---|
| Self-Hosted | ||||
| Open Source | ||||
| OAuth 2.0 / OIDC | ||||
| SAML 2.0 | ||||
| Multi-Factor Auth | ||||
| Multi-Tenant Realms | ||||
| Admin REST API | ||||
| Modern Admin UI | ||||
| Client SDK + React | ||||
| Themeable Login Pages | ||||
| LDAP / AD Sync | ||||
| Docker One-Liner | ||||
| Language | TypeScript | Java | N/A (SaaS) | N/A (SaaS) |
| Memory | ~120 MB | ~512 MB | N/A | N/A |
| Setup Time | 30 sec | 5 min | 2 min | 2 min |
| Cost | Free forever | Free | $$$ | $$ |
Deploy in 30 seconds
From zero to production-ready identity server in three simple steps.
Clone & Configure
Clone the repository and customize your environment variables.
git clone https://github.com/Islamawad132/Authme.git
cd Authme
cp .env.example .env Launch with Docker
Start AuthMe and PostgreSQL with a single command.
docker compose up -d Create Your First Realm
Use the Admin API or Dashboard to set up a realm, client, and users.
curl -X POST http://localhost:3000/admin/realms \
-H "Authorization: Bearer <api-key>" \
-H "Content-Type: application/json" \
-d '{"name": "my-app", "displayName": "My App"}' http://localhost:3000 Beautiful Admin Dashboard
Manage realms, users, clients, roles, and sessions from a modern React-powered admin UI.
Built in the open.
Owned by you.
No vendor lock-in. No surprise pricing. Fork it, extend it, self-host it. Your identity infrastructure, your rules.
Support AuthMe
Help keep this project alive and growing
For Developers
Get started with the SDK, explore the API, and contribute to the project.
For Teams
Deploy to your infrastructure and manage identity across all your applications.