Forge
Data & integrations

Single sign-on (OIDC)

Forge signs users in through any OpenID Connect provider with a discovery document — Pocket ID, Authelia, Authentik, Keycloak, Zitadel, and friends. SSO is additive: username/password keeps working, and a local admin account always remains a break-glass login the IdP can't lock out.

Reading time

Provider setup

  • Callback URL: https://<your-forge-host>/api/auth/oidc/callback (must match exactly)
  • Grant: Authorization Code — Forge uses PKCE automatically
  • Scopes: openid profile email groups

Forge configuration

environment:
  - FORGE_OIDC_ENABLED=true
  - FORGE_OIDC_ISSUER=https://auth.example.com
  - FORGE_OIDC_CLIENT_ID=<from IdP>
  - FORGE_OIDC_CLIENT_SECRET=<from IdP>
VariableDefaultPurpose
FORGE_OIDC_ENABLEDfalseMaster switch
FORGE_OIDC_ISSUERIdP base URL (discovery appended)
FORGE_OIDC_CLIENT_ID / _CLIENT_SECRETClient credentials
FORGE_OIDC_REDIRECT_URLderivedExplicit callback override behind unusual proxies
FORGE_OIDC_SCOPESopenid profile email groups
FORGE_OIDC_GROUPS_CLAIMgroupsClaim carrying group membership
FORGE_OIDC_ADMIN_GROUPMembers become Forge admins (IdP-provisioned accounts)
FORGE_OIDC_ALLOWED_GROUPIf set, required to sign in at all
FORGE_OIDC_AUTO_CREATEtrueProvision unknown IdP users automatically
FORGE_OIDC_BUTTON_LABELSign in with SSOLogin-page button text