Feature Comparison: dracory/auth vs Authelia

Comparison of github.com/dracory/auth with Authelia, the self-hosted SSO portal and reverse-proxy auth layer.

High-Level Differences

dracory/authAuthelia
TypeGo library embedded in your appIdentity provider / reverse-proxy auth layer
Primary usePer-app login flowsSSO across many apps behind a proxy
DeploymentNo extra infrastructureDedicated service + config + proxy rules
ArchitectureYour handlers call its APIsRequests are intercepted before reaching your app

Feature Comparison

dracory/authAuthelia
Email/password✅✅
Otp (codes/links)✅❌
Magic links✅❌
MFA / TOTP / WebAuthn❌✅ TOTP, WebAuthn, Duo
SSO across apps❌✅
OIDC provider❌✅
Reverse proxy auth❌✅ Traefik/Nginx/Caddy/Envoy
Middleware✅ Web/API/optional✅ Proxy-level (all apps)
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

Aspectdracory/authAuthelia
Full layout control✅ FuncLayout wraps any page body in your own site shell (own <head>, nav, footer)❌ Fixed portal pages; not embeddable in your own site shell
Theming / CSS✅ ThemeCSS (any hosted stylesheet / Bootlegance) + CustomCSS inline overrides⚠️ Preset themes (light/dark/grey/auto) + custom assets/logo; no full custom CSS
Brand name / logo✅ BrandName, BrandTagline, BrandLogoURL rendered above the login card⚠️ Custom logo asset; limited text customization
Email templates✅ Per-flow FuncEmailTemplate* callbacks — full control⚠️ On-disk customizable templates

When to Choose Authelia

one login portal and strong MFA.

When to Choose dracory/auth

password, impersonation) with no proxy/service layer.