Description
Enable keyless authentication from GitHub Actions via OIDC.
Endpoint
POST /v1/auth/github-oidc
Flow
- Action sends GitHub OIDC JWT
- Backend fetches GitHub JWKS from
https://token.actions.githubusercontent.com/.well-known/jwks
- Verify JWT signature, expiry, audience
- Extract claims:
repository, repository_owner, ref, sha
- Map
repository_owner → KrakenKey installation → account
- Issue short-lived KrakenKey access token (15 min TTL)
Security
- Cache JWKS with TTL (1 hour)
- Validate
aud claim matches KrakenKey API URL
- Token scoped to the specific installation (can't access other accounts)
- Log all token exchanges
Acceptance Criteria
Description
Enable keyless authentication from GitHub Actions via OIDC.
Endpoint
POST /v1/auth/github-oidcFlow
https://token.actions.githubusercontent.com/.well-known/jwksrepository,repository_owner,ref,sharepository_owner→ KrakenKey installation → accountSecurity
audclaim matches KrakenKey API URLAcceptance Criteria