Reference · Identity & SSO

One login that knows every app

Authentik is the homelab’s central identity. Apps integrate in two ways: OIDC when they speak it natively, or ForwardAuth when the reverse proxy should gate them. High-value apps use both.

How apps sign in to the SSO
AOIDC
Browser
App
Authentik · login
token → app session
BForwardAuth
Browser
Traefik
Authentik · session check?
App (only if ok)
C = both combined — OIDC for identity, ForwardAuth as an extra perimeter

OIDC (Pattern A)

The app speaks OpenID Connect directly to Authentik: login redirect, token exchange, done. Includes user and group sync — roles can be derived from Authentik groups.

OpenID Connectgroups → rolesForgejo · Immich

ForwardAuth (Pattern B)

For apps with weak or no native login, Traefik checks with Authentik before every request. Only a valid session gets forwarded — otherwise a redirect to the login.

TraefikperimeterPrometheus · Kuma

Both combined (Pattern C)

Defense in depth: ForwardAuth as the outer perimeter plus native OIDC for clean identity inside the app. An existing session passes through both — login feels like one click.

Wiki.jsNextcloudGrafana

Passwordless with passkeys

Sign-in needs no password: a passkey, unlocked by fingerprint or face recognition on your own device. A passkey is bound to the genuine login page — a cloned phishing page cannot capture it, and there is no password to steal or reuse. A reputation rule additionally slows down suspicious sign-in attempts.

passkeysWebAuthnphishing-resistant

Groups instead of per-app rights

Who may access what is decided by group membership in Authentik — one source of truth, no per-app user sprawl.

groupsrole mappingcentral
Stack in use
AuthentikOIDCForwardAuthPasskeys (WebAuthn)TraefikEmbedded Outpost