Skip to main content

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
For automated service-to-service access, prefer API keys. For enterprise single sign-on, see SSO.

Configuration

Hashing passwords

Generate a bcrypt password hash using the built-in CLI command:
Never store plain-text passwords. The passwordHash field expects a bcrypt hash.

Logging in

POST to the admin API login endpoint with username and password:
The token expires after 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: The admin account configured under auth.admin always has the admin role.

Custom roles

Define custom roles to restrict JWT/OIDC users to specific targets:
Custom roles are referenced in OIDC token claims — see SSO.

Token expiry and refresh

JWTs expire after jwtExpiryMinutes. 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.