Skip to content

Authentication settings

Every setting below is read once at startup and requires a restart to change. Built-in defaults are overridden by nonempty environment values. Unknown FANOUT_ names fail startup; platform-injected service names are tolerated. Custom names use FANOUT_ plus a clear name, adding the area only when it clarifies. Vendor credentials and endpoints keep the vendor’s documented names.

Environment variableTypeDefault
FANOUT_AUTH_CODE_SECRET or FANOUT_AUTH_CODE_SECRET_FILEstring · secret—
FANOUT_AUTH_MODEstringlocal
FANOUT_OIDC_ADMIN_GROUPSstring—
FANOUT_OIDC_ALLOWED_DOMAINSstring—
FANOUT_OIDC_ALLOWED_GROUPSstring—
FANOUT_OIDC_AUTO_PROVISIONbooleanfalse
FANOUT_OIDC_CLIENT_IDstring—
FANOUT_OIDC_CLIENT_SECRET or FANOUT_OIDC_CLIENT_SECRET_FILEstring · secret—
FANOUT_OIDC_DEFAULT_ROLEstringviewer
FANOUT_OIDC_EMAIL_CLAIMstringemail
FANOUT_OIDC_EMAIL_VERIFICATIONstringrequired
FANOUT_OIDC_ISSUER_URLstring—
FANOUT_OIDC_OPERATOR_GROUPSstring—
FANOUT_SELF_SIGNUPbooleanfalse
FANOUT_SESSION_ABSOLUTE_TTLduration168h
FANOUT_SESSION_IDLE_TTLduration12h

Signs local sign-in codes; required in local mode with at least 32 characters.

Selects local sign-in or oidc; each mode validates its prerequisites.

Lists identity-provider groups mapped to admin, separated by commas.

Lists allowed email domains, separated by commas; wildcard * requires verified email.

Lists allowed identity-provider groups, separated by commas.

Creates accounts on OIDC sign-in; requires an allowed group or domain.

Identifies Fanout’s client registration; required in OIDC mode.

Authenticates Fanout’s client registration; required in OIDC mode.

Assigns viewer, operator, or admin to users without a group role mapping.

Names the claim containing the user’s email address.

Selects required verified-email claims or issuer trust; issuer trust requires an allowlist.

Selects the identity provider issuer; required in OIDC mode.

Lists identity-provider groups mapped to operator, separated by commas.

Allows verified email addresses to create viewer accounts; requires local auth and SMTP.

Limits total session lifetime; it must be at least FANOUT_SESSION_IDLE_TTL.

Expires inactive sessions; use a Go duration of at least 5m.