Authentication model
This document covers the additions TokenTimer Enterprise makes to the Core authentication model. The Core admin bootstrap, invitation flow, local password rules, and CSRF behaviour are unchanged; see self-hosted authentication.
CSRF token for scripted API calls
Core CSRF protection (double-submit cookie, always on) applies here
unchanged, including for CLM endpoints such as agent bootstrap-token
creation. The dashboard attaches the token automatically; a script or CI
job driving the API directly with a session cookie must fetch a token
from GET /api/csrf-token first and send it back as an X-CSRF-Token
header on every POST/PUT/PATCH/DELETE. Machine-token routes
(executor events, agent protocol) are exempt and need no CSRF token.
What enterprise adds
| Capability | Status |
|---|---|
| OIDC sign-in | Configurable per deployment |
| SAML 2.0 sign-in | Configurable per deployment |
| Group to role mapping (admin UI) | Configurable per deployment |
| Stable identity across email rename | Always on once SSO is configured |
| Cross-provider account merge | Controlled by global/per-provider allow auto-link policy |
auth_method = 'sso' accounts | Always on once SSO is configured |
| License-gated SSO settings UI | Always on |
| Audit log of every login and sync | Always on |
Local password sign-in still works in parallel with SSO. For an SSO-only install with no local admin fallback, use Mode 2.
Admin bootstrap with SSO
Two boot modes are supported.
Mode 1: Local admin first, SSO second (default)
This is the recommended mode. You keep emergency access through a locally-managed admin password even if the IdP is down.
- Set
ADMIN_EMAIL/ADMIN_PASSWORDin.env. - Start the stack. The Core bootstrap creates the admin user with
auth_method='local'. - Sign in, open System Settings → Manage SSO providers to configure SSO.
- Optionally remove
ADMIN_PASSWORDfrom.envand restart. The account stays usable; you can reset it later via DB if needed.