Peer Comparisons
Feature comparisons of github.com/dracory/auth against peer authentication solutions. Each document covers a high-level positioning table, a feature matrix, a branding & layout options table, and guidance on when each option is the better fit.
| Peer | Type | Document |
|---|---|---|
| SuperTokens | Open-source auth service + SDKs | supertokens.html |
| Auth0 (Okta) | Hosted SaaS IdP | auth0.md |
| Clerk | Hosted SaaS, component-first | clerk.html |
| Firebase Auth | Google managed service | firebase-auth.html |
| Keycloak | Self-hosted IAM server | keycloak.html |
| Ory Kratos | Open-source API-first identity service | ory-kratos.html |
| Better Auth | TypeScript embedded library | better-auth.html |
| Hanko | Open-source passkey-first auth | hanko.html |
| Authelia | Self-hosted SSO portal / proxy auth | authelia.html |
| Authentik | Self-hosted identity provider | authentik.html |
| ZITADEL | Go-based identity platform | zitadel.html |
| WorkOS | Managed enterprise identity | workos.html |
Summary Positioning
dracory/auth's niche: an embedded Go library with built-in server-rendered UI, JSON API, middleware, impersonation, and rate limiting — storing everything in your database via callbacks, with zero external services and zero per-MAU cost.
Four login methods ship today — email OTP, magic link, username/password, and delegated AuthKnight — composable behind one mux via NewMultiMethodAuth and extensible through the public types.Method interface (custom methods need no library change). Post-authentication behavior (allowlists, find-or-create, session creation, cookies, redirects) is hook-driven via types.PostAuthHooks, with remember-me session extension and per-route rate limits built in.
Its main gaps vs the field: social/OAuth login (except via AuthKnight), MFA/passkeys, enterprise SSO (SAML/OIDC), multi-tenancy/organizations, and hosted user-profile UI.