The auth proxy fronts an existing identity provider already configured in Bifrost. Set up your IdP first (Okta, Generic OIDC, etc.), then enable the Identity-Aware Proxy on that same provider. If you’re using Cloudflare, follow the dedicated Cloudflare ZTNA guide instead.
How it works
- The proxy authenticates the user against your identity provider.
- It forwards the request to Bifrost with a signed OIDC JWT in a header you choose (e.g.
X-Forwarded-Assertion). - Bifrost validates the token’s signature against the configured JWKS URL, or discovers it from the issuer via
<issuer>/.well-known/openid-configuration. - Bifrost enforces the expected audience, then resolves the user from the identity claim (
emailby default).
Modes
The proxy runs in one of two modes:Prerequisites
- An identity-aware proxy that injects a signed OIDC JWT header on every request
- The proxy’s issuer URL (and, optionally, an explicit JWKS URL)
- The audience (
aud) value the proxy stamps on its tokens - An identity provider already configured in Bifrost under User Provisioning
- Bifrost roles created for any roles you plan to map (full mode)
Step 1: Configure your proxy
1
Protect the Bifrost domain
Place the proxy in front of your Bifrost deployment so it authenticates every request to the dashboard and API surface, then forwards the request upstream to Bifrost.
2
Inject a signed JWT header
Configure the proxy to add a signed OIDC JWT to a request header — for example
X-Forwarded-Assertion. Note the exact header name; you’ll enter it in Bifrost.3
Set an audience and pass through claims
Ensure the proxy stamps a stable
aud (audience) claim that binds the token to Bifrost. For full mode, also include the IdP group/role claims you plan to map on.Step 2: Enable the Identity-Aware Proxy in Bifrost
1
Open your provider's configuration
Go to Governance → User Provisioning, open the identity provider you want to front, and continue to the Provider Configuration step. The Identity-Aware Proxy (IAP) section appears there.
2
Enable the proxy and select Generic OIDC proxy
Toggle Identity-Aware Proxy (IAP) on, then set Proxy to Generic OIDC proxy. The Header name, Issuer URL, and Audience fields appear below, along with the Mode selector.
3
Fill in the proxy fields
Under Advanced, you can supply an explicit JWKS URL (skips OIDC discovery) and change the identity claim (defaults to
email).4
Choose a mode and save
Pick Login only or Full (see Modes), then save.IAP changes on an already-enabled provider — turning IAP on or off, or editing the header, issuer, JWKS, audience, or mode — are hot-reloaded and take effect immediately (and propagate to peer nodes in a cluster).
Configuration reference
The Identity-Aware Proxy is stored as anauthProxy block on the SSO provider’s configuration. Fields marked string (secret) below accept a plain-text value, an env.VAR_NAME reference, or a vault.path/to/secret reference; enabled, provider, mode, and allowedAudiences are plain values.
The authProxy block lives inside your SSO provider’s config under the top-level scim_config, alongside that provider’s own fields:
*Either
audience or a non-empty allowedAudiences is required — an unbound token would be accepted across applications. All URLs must use https.Troubleshooting
Every request returns 401 Unauthorized
Cause: Signature, issuer, or audience validation failed. Fix: Confirm the Header name matches what your proxy injects, the Issuer URL matches the token’siss claim, and the Audience matches the token’s aud. If OIDC discovery can’t reach the issuer, set an explicit JWKS URL under Advanced.
The header is ignored and normal login is used instead
Cause: Bifrost only uses the proxy path when the configured header is present. A missing or misnamed header falls back to the standard bearer/cookie flow. Fix: Verify the exact header name (case-insensitive) and that the proxy sets it on every request.Users get 403 “not provisioned” in login-only mode
Cause: Login-only mode never creates users. Fix: Provision the user via SCIM or a one-time interactive login, or use Full mode.Next steps
- Cloudflare ZTNA (Access) - front Bifrost with Cloudflare Zero Trust
- RBAC - define the roles the proxy authenticates against
- User provisioning - SCIM and OIDC provider setup

