Custom identity provider tokens
On the SaaS path, diagrid login authenticates you against Diagrid's managed identity provider, and the CLI sends the resulting JWT as X-Diagrid-User-Token: Bearer on each agent invocation. This works whenever the target deployment trusts the Diagrid identity provider as an upstream — the SaaS default. For the wider flow, see the Enterprise identity overview.
Bring-your-own-cloud (BYOC) deployments often trust your own identity provider but not the Diagrid identity provider, so diagrid login produces a token Catalyst rejects. In that case you supply a token from your own identity provider directly. This is a first-class path — Catalyst verifies the token against the federation your operator configured and enforces the same policy it applies to a SaaS login.
You do this by setting the X-Diagrid-User-Token header yourself when you invoke the agent — see Entry points.
Acquire a token from your identity provider
First, obtain a user JWT from the identity provider your Catalyst deployment trusts, using that provider's own tooling — for example:
# Auth0
auth0 login
auth0 test token --audience <your-api-audience>
# Microsoft Entra ID (Azure CLI)
az account get-access-token --resource <your-api-resource> --query accessToken -o tsv
The token's issuer (iss claim) must match a federation your operator has configured. See IdP federation for how federations are set up and which providers are supported.
Set the header yourself
Attach the token as an X-Diagrid-User-Token header on the request that invokes the agent. This works from any caller — a script, a service, a CI job, or any client that speaks plain HTTP:
curl -X POST "https://<your-agent-endpoint>/invoke" \
-H "X-Diagrid-User-Token: Bearer <your-jwt>" \
-H "Content-Type: application/json" \
-d '{ ... }'
Catalyst verifies the token against the matching federation and propagates the user identity exactly as it would for a SaaS login — same verification, same policy.
Entry points
Setting the header yourself is the supported path today.
- On the CLI, there is no flag for passing a custom user JWT. The only global authentication flag is
--api-key, which authenticates you to the Diagrid control plane, not the agent. See the Diagrid CLI reference. - In the Catalyst console, the agent chat panel has no entry point for a custom token, so use an HTTP client to test an agent under a federated identity.
What's next
- IdP federation — the operator-side setup that determines which identity providers a token can come from.
- Troubleshooting — resolve
oauth.invalid_issuerand other rejection codes.