Authentication & Authorization
Authentication
POST /api/v1/auth/login verifies a local platform user and returns access and refresh JWTs.
Invalid credentials return a generic USER_AUTH_FAILED result without revealing whether the username exists.
Passwords are stored as bcrypt hashes.
Token lifecycle
- signing algorithm: HS256 in current configuration
- access-token default: 60 minutes
- refresh-token default: 1440 minutes
- refresh rotates the token pair
token_versioninvalidates old tokens after password changes or explicit all-session revocation
revoke_all=true increments the token version and invalidates other issued sessions on their next validation.
Authorization
The central route-access layer applies coarse RBAC. High-impact operations such as user administration, trusted signing-key changes, environment-promotion apply, and configuration snapshot apply require Administrator. Viewer can execute a small set of read-only preview POSTs, such as safe-change or Test Before Apply preview, without mutation permission.Authentication-disabled mode
WhenREQUIRE_AUTH=false, development tooling can use an implicit unauthenticated context. Production startup rejects that setting; it must not be used for exposed production systems.