Skip to content

CORS & Authentication

Variable Default Description
ATLAS_CORS_ORIGINS empty Comma-separated origins allowed to call the API from a browser. Leave unset if nothing browser-based calls the API directly.

See Authentication for how these fit together, and Configure SSO with Keycloak for a walkthrough of the OIDC variables below against a real provider.

Variable Default Description
ATLAS_AUTH_JWT_SECRET required Signs the session cookie. Rotating it logs everyone out at once — the only revocation lever this design has.
ATLAS_AUTH_SESSION_TTL_SECONDS 28800 (8h) Session lifetime.
ATLAS_SESSION_COOKIE_SECURE true Set false only for local http:// development — a real deployment must serve over HTTPS.
ATLAS_AUTH_BOOTSTRAP_ADMIN_USERNAME unset Break-glass account username. Leave unset, along with the password below, to disable password login entirely.
ATLAS_AUTH_BOOTSTRAP_ADMIN_PASSWORD unset Break-glass account password.
ATLAS_AUTH_OIDC_DISCOVERY_URL unset Leave unset to disable OIDC entirely — the login button disappears and the callback route 404s.
ATLAS_AUTH_OIDC_CLIENT_ID unset OIDC client id.
ATLAS_AUTH_OIDC_CLIENT_SECRET unset OIDC client secret.
ATLAS_AUTH_OIDC_ID_CLAIM sub Which id_token claim becomes a principal’s id. Changing it once real users exist orphans every principal created under the old claim.
ATLAS_AUTH_OIDC_NAME_CLAIM name Which claim becomes the principal’s display name.
ATLAS_AUTH_OIDC_SCOPE openid profile email Space-separated. Add your provider’s groups scope if authorization rules will key on groups.
ATLAS_AUTH_OIDC_ENABLE_PKCE true PKCE for the authorization code flow.
ATLAS_ALLOW_SELF_REGISTRATION false false: an admin must create a principal before that identity can log in. true: first OIDC login auto-provisions it.
ATLAS_AUTH_FRONTEND_URL http://localhost:3000 Where the browser lands after a successful OIDC callback — the API has no frontend route of its own to send it to.