Create a federation trust
1
Navigate to Directory > Service principals and select your service principal.
2
On the service principal detail page, select the Federation tab.
3
Click Setup federation.
4
Next, choose a provider. Select an existing provider, or create a new one. C1 includes presets for common platforms:
5
Configure the trust. For every provider except Custom OIDC, the wizard collects structured fields (organization, repository, branch, environment, and so on) and generates a CEL expression based on your inputs. You can switch to manual mode to write your own CEL expression. Custom OIDC has no structured fields — you write the CEL expression directly.Optional. Add IP restrictions and scoped roles for additional security. See security controls for details.
6
Click Create trust to finish.
7
Copy the client ID — you’ll need it in your CI/CD configuration.
Test your token
Before deploying to production, test the federation trust to make sure your CEL expression matches the expected JWT claims.1
Click the trust in the Federation tab to open its detail drawer, then click Test.
2
Paste a sample JWT from your CI/CD platform, or provide claims as JSON.
3
The test runner validates each step:
Platform-specific guides
Once your trust is created, follow the integration guide for your CI/CD platform:- GitHub Actions — recommended for GitHub-based workflows
- GitLab CI — uses GitLab’s built-in
id_tokens - HCP Terraform — auto-detected from workspace identity tokens
- AWS IAM — outbound identity federation from any AWS workload
- SPIFFE — SPIFFE/SPIRE workload identities via JWT-SVID
- Custom OIDC — any platform with OIDC support