Authentik
Open-source Identity Provider focused on flexibility and enterprise Single Sign-On (SSO).
Why consider Authentik?
Authentik is an open-source identity provider and SSO solution. It integrates with OAuth2/OIDC, SAML, LDAP, and SCIM to secure apps, enforce MFA, and manage user directories.
Learn Authentik by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide10 sections
What is Authentik?
Authentik is an open-source Identity Provider (IdP) and unified access management platform written in Python and Go. It serves as a self-hosted alternative to proprietary identity-as-a-service platforms like Okta, Auth0, and Microsoft Entra ID.
Authentik enables organizations to centralize authentication across all enterprise and internal applications using industry-standard protocols including OAuth2/OpenID Connect (OIDC), SAML 2.0, LDAP, and SCIM. It features customizable authentication flows, multi-factor authentication (WebAuthn, Passkeys, TOTP), proxy authentication for legacy apps without native SSO, and granular role-based policy engines.
Who Is It For?
- DevOps & Security Engineers: Securing internal microservices, Kubernetes clusters, and admin dashboards behind unified single sign-on with hardware Passkeys.
- Enterprise IT Teams: Unifying user directories, federating with Google Workspace or Active Directory, and managing employee provisioning via SCIM.
- Homelabbers: Placing self-hosted services (Grafana, Portainer, Nextcloud, Jellyfin) behind a single, beautiful authentication portal.
Key Features
- Broad protocol compatibility: Native provider support for OAuth 2.0, OpenID Connect (OIDC), SAML 2.0, RADIUS, and LDAP.
- Outpost Proxy provider: Inject authentication and forward headers to legacy apps that lack built-in SSO capabilities.
- Advanced multi-factor authentication (MFA): FIDO2 / WebAuthn hardware security keys (YubiKey), Apple Passkeys, TOTP, and SMS.
- Visual Flow and Stage engine: Construct custom onboarding, password reset, and authorization rules using visual execution flows.
- Comprehensive user directory management with group-based access policies and event audit logging.
Deploying Authentik with Docker Compose
version: '3.8'services: postgresql: image: postgres:15-alpine container_name: authentik_postgres restart: unless-stopped volumes: - ./database:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=secure_authentik_db_password - POSTGRES_USER=authentik - POSTGRES_DB=authentik redis: image: redis:7-alpine container_name: authentik_redis restart: unless-stopped server: image: ghcr.io/goauthentik/server:2026.8.0 container_name: authentik_server restart: unless-stopped command: server environment: - AUTHENTIK_SECRET_KEY=generate_a_secure_random_50_character_secret_key - AUTHENTIK_REDIS__HOST=redis - AUTHENTIK_POSTGRESQL__HOST=postgresql - AUTHENTIK_POSTGRESQL__USER=authentik - AUTHENTIK_POSTGRESQL__NAME=authentik - AUTHENTIK_POSTGRESQL__PASSWORD=secure_authentik_db_password volumes: - ./media:/media - ./custom-templates:/templates ports: - "9000:9000" - "9443:9443" depends_on: - postgresql - redis worker: image: ghcr.io/goauthentik/server:2026.8.0 container_name: authentik_worker restart: unless-stopped command: worker environment: - AUTHENTIK_SECRET_KEY=generate_a_secure_random_50_character_secret_key - AUTHENTIK_REDIS__HOST=redis - AUTHENTIK_POSTGRESQL__HOST=postgresql - AUTHENTIK_POSTGRESQL__USER=authentik - AUTHENTIK_POSTGRESQL__NAME=authentik - AUTHENTIK_POSTGRESQL__PASSWORD=secure_authentik_db_password depends_on: - postgresql - redisStart the instance:
docker compose up -dOpen http://localhost:9000/if/flow/initial-setup/ in your web browser to configure the primary administrator password.
Practical Use Cases
1. Unified OIDC Single Sign-On for Company Apps
An engineering organization connects Nextcloud, Grafana, GitLab, and Outline to Authentik using OpenID Connect, allowing engineers to log in across all tools using their corporate credentials.
2. Forward Auth Proxy for Legacy Web Dashboards
A system administrator places an internal dashboard behind Authentik's Embedded Outpost; unauthenticated requests are automatically redirected to the Authentik MFA login screen before access is granted.
3. Passwordless Passkey Onboarding
An IT department enables FIDO2 WebAuthn authentication flows, allowing employees to log in using TouchID or YubiKey hardware keys without typing passwords.
Troubleshooting and Limitations
- Worker Process Necessity: Authentik uses background workers for directory sync, email dispatches, and certificate maintenance; ensure the
workercontainer is running alongside the server. - HTTPS Reverse Proxy Forwarding: When running behind Traefik or Nginx, forward the
X-Forwarded-ProtoandX-Forwarded-Hostheaders to prevent redirect loop errors.
Official Resources
- Official Website: https://goauthentik.io
- GitHub Repository: https://github.com/goauthentik/authentik
- Documentation: https://docs.goauthentik.io
Related tools
More options with a similar category or technology profile.
boringproxy
Simple, self-hosted reverse proxy and tunnel manager for exposing private web services securely.
OWASP ModSecurity
Open-source Web Application Firewall (WAF) engine providing cross-platform HTTP security inspection.
OpenCTI
Open-source platform for managing cyber threat intelligence knowledge and STIX2 relationships.
Maltrail
Malicious traffic detection system utilizing public blacklists and heuristic traffic behavior analysis.