Skip to content

Add GitHub App processor for installation token auth#52

Merged
mjbraun merged 1 commit into
mainfrom
github-app-processor
Apr 30, 2026
Merged

Add GitHub App processor for installation token auth#52
mjbraun merged 1 commit into
mainfrom
github-app-processor

Conversation

@mjbraun
Copy link
Copy Markdown
Contributor

@mjbraun mjbraun commented Apr 29, 2026

GitHub Apps use a bespoke flow (JWT in the Authorization header, not an OAuth2 form body) that JWTProcessorConfig can't express. This adds GitHubAppProcessorConfig following the same sealed two-step pattern: sign a 10-minute RS256 JWT, exchange it for an installation token, and return a SealedTokenResponse whose inner InjectProcessorConfig is pinned to api.github.com with a "token %s" Authorization format - so neither the private key nor the installation token is ever plaintext outside tokenizer's process memory.

GitHub Apps use a bespoke flow (JWT in the Authorization header, not an
OAuth2 form body) that JWTProcessorConfig can't express. This adds
GitHubAppProcessorConfig following the same sealed two-step pattern:
sign a 10-minute RS256 JWT, exchange it for an installation token, and
return a SealedTokenResponse whose inner InjectProcessorConfig is pinned
to api.github.com with a "token %s" Authorization format - so neither
the private key nor the installation token is ever plaintext outside
tokenizer's process memory.
@mjbraun mjbraun requested a review from timflyio April 29, 2026 18:01
Copy link
Copy Markdown
Contributor

@timflyio timflyio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mjbraun mjbraun merged commit 73d6516 into main Apr 30, 2026
1 check passed
@mjbraun mjbraun deleted the github-app-processor branch April 30, 2026 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants