#51051: build: authenticate sudowoodo /token exchange via Actions OIDC
Merged
Created: Apr 14, 2026, 5:09:39 PM
Merged: Apr 14, 2026, 5:54:45 PM
9 comments
Target: main
Sudowoodo's /token endpoint (electron/sudowoodo#375) now validates the caller via a GitHub Actions OIDC token instead of the static SUDOWOODO_EXCHANGE_TOKEN secret. The broker checks the token's repository/ref/workflow_ref/actor/event_name/run_id claims against its allowlist and additionally verifies the run_id belongs to an active sudowoodo-dispatched release before minting a scoped upload token.
script/release/github-token.ts: mint an OIDC token with audiencesudowoodo-brokervia the rawACTIONS_ID_TOKEN_REQUEST_URL/_TOKENenv (so it works from any node script) and send it asAuthorization: Bearer <jwt>. Fails with a clear message if the job lacksid-token: write.ELECTRON_GITHUB_TOKENfallback kept.pipeline-segment-electron-build.yml(→ autogenerated-publish.yml): dropSUDOWOODO_EXCHANGE_TOKENfrom the env block.SUDOWOODO_EXCHANGE_URLstays.
id-token: write was already present on the publish segment's job (for attestations) and on every {linux,macos,windows}-publish.yml caller, so no permission additions were needed.
Notes: none
Backports
Semver Impact
Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.
Semantic Versioning helps users understand the impact of updates:
- Major (X.y.z): Breaking changes that may require code modifications
- Minor (x.Y.z): New features that maintain backward compatibility
- Patch (x.y.Z): Bug fixes that don't change the API
- None: Changes that don't affect using facing parts of Electron