Skip to main content
Two ways in, and a deployment can run either or both. Local accounts work with no configuration: an administrator creates them, users sign in with a username and password. On a fresh deployment the first administrator is created through the console’s first-visit onboarding. OIDC single sign-on is turned on by setting FORGE_OIDC_ISSUER, FORGE_OIDC_CLIENT_ID and FORGE_OIDC_CLIENT_SECRET — Casdoor, Keycloak and anything else that speaks OIDC. The CLI’s browser and device-code logins follow the same flow without extra configuration. Check which a deployment offers before assuming:

Two account systems

Works out of the box: admins create accounts with sf admin user-add, and users log in with username and password. On a fresh deployment, the first administrator is created via the console’s first-visit onboarding (/api/auth/setup).
Two role levels: admin (governance and full visibility) and operator (own projects and jobs).

Token system

The platform issues domain-isolated tokens per purpose — no token can impersonate another kind:

Security baseline

  • FORGE_WEB_JWT_SECRET must be set to a fixed strong random string (identical across replicas);
  • Configure FORGE_REDIS_URL in production: instant token revocation on logout / ban, distributed rate limiting;
  • Cluster and storage credentials stay server-side only; the job side sees only presigned URLs and run-scoped ingest tokens;
  • CLI packaging has a sensitive-file blocklist (.env, *.pem, id_rsa*…), so secrets never end up inside job packages;
  • All sensitive operations enter the audit trail.
FORGE_NO_AUTH=1 is for local development only: it skips all authentication and makes everyone admin. Never enable it in any multi-user environment.