Skip to content

API and integrations: webhook rotation, auth contract tests, GHES config, token expiry diagnostics - #1291

Merged
mijinummi merged 4 commits into
MDTechLabs:mainfrom
Ritzy-byte:integration-features
Oct 23, 2026
Merged

mijinummi merged 4 commits into
MDTechLabs:mainfrom
Ritzy-byte:integration-features

Conversation

@Ritzy-byte

@Ritzy-byte Ritzy-byte commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Closes #1239
Closes #1242
Closes #1245
Closes #1246

Summary

  • Webhook signature rotation: WebhookSignatureRotation signs with the current secret and still accepts the previous one for a configurable grace window (default 24h). Docs in docs/WEBHOOK_SIGNATURE_ROTATION.md.
  • API auth failure contract tests: pin the 401/403 body shape (error, message, timestamp) for JwtAuthGuard and RolesGuard, and check that no credentials leak.
  • GitHub Enterprise Server config: optional baseUrl on GitHubAuthConfig, normalized to <host>/api/v3. https only. Defaults to github.com, so existing configs are unchanged.
  • Token expiration diagnostics: diagnoseTokenExpiration and GitHubClient.getTokenExpiration() classify a token as no_expiry, valid, expiring_soon, expired or invalid.

Testing

New specs cover success, boundary, invalid-input and failure cases (38 tests, all passing locally).

🤖 Generated with Claude Code

@mijinummi
mijinummi merged commit 7e8c32a into MDTechLabs:main Oct 23, 2026
8 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants