Feature Comparison: dracory/auth vs Ory Kratos
Comparison of github.com/dracory/auth with Ory Kratos, the open-source, API-first identity server written in Go.
High-Level Differences
| Aspect | dracory/auth | Ory Kratos |
|---|
| Type | Go library embedded in your app | Standalone Go microservice + admin/public APIs |
| Language | Go | Go (service); any language consumes the APIs |
| Deployment | No extra infrastructure | Kratos service + PostgreSQL/MySQL/CockroachDB |
| Data ownership | Your database, your schema | Kratos-managed schema (JSON identity traits) |
| UI | Built-in server-rendered HTML | Bring your own; reference UIs (Ory Elements, accountexperience) |
| Model | In-process sessions/cookies | Headless flows (browser/API), self-service everything |
Feature Matrix
| Feature | dracory/auth | Ory Kratos |
|---|
| Email/password | ✅ | ✅ |
| Otp (code/link) | ✅ Codes + magic links | ✅ Magic link / code strategy |
| Passkeys / WebAuthn | ❌ | ✅ |
| Social / OIDC sign-in | ❌ (only via AuthKnight) | ✅ Generic OIDC + providers |
| MFA / TOTP / lookup codes | ❌ | ✅ |
| Session management | ✅ Your store + cookies | ✅ Session tokens/cookies, refresh |
| Identity schema | ❌ Host-defined | ✅ JSON Schema per identity |
| Self-service settings/profile | ❌ | ✅ Flows API |
| Account recovery / verification | ✅ Password reset | ✅ Flows API |
| Impersonation | ✅ Built-in | ⚠️ Via admin session exchange |
| Rate limiting / lockout | ✅ Built-in | ⚠️ External (deploy-level / Ory Network) |
| Ready-to-use UI | ✅ Server-rendered | ⚠️ DIY or Ory Elements |
| Middleware | ✅ Web/API/optional | ✅ Oathkeeper / session check API |
| Ops burden | ✅ None | ❌ Extra service + DB + migrations |
| Managed cloud option | ❌ | ✅ Ory Network |
| Multiple login methods simultaneously | ✅ Composable via NewMultiMethodAuth + types.Method (otp, magiclink, password, authknight, custom methods) | {mm} |
|---|
| Remember-me (extended sessions) | ✅ Built-in opt-in session extension | {rm} |
Legend: ✅ built-in · ⚠️ partial/conditional · ❌ not available
Branding & Layout Options
| Aspect | dracory/auth | Ory Kratos |
|---|
| Full layout control | ✅ FuncLayout wraps any page body in your own site shell (own <head>, nav, footer) | ✅ Headless API-first — you render all screens; hosted Ory Account Experience optional |
| Theming / CSS | ✅ ThemeCSS (any hosted stylesheet / Bootlegance) + CustomCSS inline overrides | ✅ Your own UI; hosted UI supports logo/colors theme |
| Brand name / logo | ✅ BrandName, BrandTagline, BrandLogoURL rendered above the login card | ✅ Yours entirely; hosted offering: logo + favicon config |
| Email templates | ✅ Per-flow FuncEmailTemplate* callbacks — full control | ✅ Customizable templates |
When to Choose dracory/auth
- Monolithic Go app wanting zero extra services and built-in UI.
When to Choose Ory Kratos
- Microservice architecture needing centralized, API-first identity.
- You need WebAuthn/passkeys, TOTP MFA, or OIDC social login while staying open-source/self-hosted.