User Authentication¶
Burrito supports two modes of authentication for its server component:
- Basic Authentication (default)
- OpenID Connect (OIDC)
SAML authentication is not supported at this time but will be added in the future
Basic Authentication (Default)¶
When OIDC is disabled (server.oidc.enabled: false), Burrito falls back to a built-in basic authentication scheme. This mode is not recommended for production.
Basic Authentication can also stay enabled alongside OIDC (server.basicAuth.enabled: true and
server.oidc.enabled: true at the same time) to keep the admin account available as a
fallback — for example if OIDC's requiredClaims is misconfigured and locks every SSO user
out. When both are enabled, the login page shows the SSO button and the username/password
form together.
Configuration¶
Credentials¶
- Username:
admin - Password: Stored in the Kubernetes Secret
burrito-admin-credentials.
Retrieve the password with:
kubectl -n <burrito-namespace> get secret burrito-admin-credentials \
-o jsonpath="{.data.password}" | base64 --decode
Use admin and the decoded password to log in to the Burrito server.
OpenID Connect (OIDC) Authentication¶
Enable OIDC to integrate Burrito with your identity provider. This is the recommended approach for production environments.
Configuration¶
OIDC configuration requires setting up a client in your OIDC provider. You will need the following details:
- Issuer URL
- Client ID
- Client Secret
- Redirect URL (should be
https://<your-domain>/auth/callback) - Scopes (typically
openid,profile, andemail)
The client secret must be stored in a Kubernetes Secret and referenced in the deployment environment variables.
The environment variable name for the client secret must be BURRITO_SERVER_OIDC_CLIENTSECRET.
config:
burrito:
server:
oidc:
enabled: true # Enable OIDC
issuerUrl: <OIDC_ISSUER> # e.g. https://accounts.example.com
clientId: <CLIENT_ID>
redirectUrl: "https://<your-domain>/auth/callback"
scopes:
- "openid"
- "profile"
- "email"
requiredClaims:
groups:
- "burrito-admins"
...
server:
deployment:
envFrom:
- secretRef:
name: burrito-oidc-client-secret
| Field | Description |
|---|---|
enabled |
Turn OIDC on or off |
issuerUrl |
Base URL of your OIDC provider |
clientId |
Registered client ID |
redirectUrl |
Callback URL for OIDC (must match the one registered with your provider) |
scopes |
OIDC scopes to request |
requiredClaims |
Map of claim name to allowed values, used to authorize users (see below) |
Disabling Authentication¶
If both Basic Authentication and OIDC are disabled, the Burrito server will be publicly accessible. This may be suitable for development environments or if you have other means of securing access (authentication proxy, VPN, etc.)...
Authorization¶
By default, any user able to authenticate with the configured OIDC provider is authorized to
access the Burrito UI. To restrict access, set requiredClaims to a map of claim name to the
list of values that satisfy it:
A user is authorized only if every configured claim has a matching value on their ID
token — a claim is satisfied if its value (a plain string, or an array such as groups)
contains at least one of the allowed values. Users whose token doesn't satisfy the required
claims are redirected back to the login page with an error.
This is an all-or-nothing gate on the whole Burrito instance — there is currently no per-tenant/per-namespace authorization based on claims.