Overview
User-based auth lets you create local accounts with a username and password. Users log in via the admin API to receive a short-lived JWT, then use that JWT for subsequent proxy requests. This is suitable for:- Human operators who need occasional proxy access
- Admin API access (status, management)
- Small teams without an identity provider
Configuration
Hashing passwords
Generate a bcrypt password hash using the built-in CLI command:passwordHash field expects a bcrypt hash.
Logging in
POST to the admin API login endpoint with username and password:jwtExpiryMinutes minutes (default 60). Implement token refresh in your client or re-login before expiry.
Using the JWT for proxy requests
Built-in roles
Three roles are built in:| Role | Proxy access | Target access | Admin API |
|---|---|---|---|
admin | Yes | All targets | Full access |
operator | Yes | All targets | No |
viewer | No | — | Read-only |
admin account configured under auth.admin always has the admin role.
Custom roles
Define custom roles to restrict JWT/OIDC users to specific targets:Token expiry and refresh
JWTs expire afterjwtExpiryMinutes. There is no refresh token — clients must re-login after expiry.
For long-running processes, consider using API keys instead, as they don’t expire.