Skip to content

fix: exclude Zoom webhook from JSON body parser#771

Merged
bokelley merged 3 commits into
mainfrom
bokelley/zoom-webhook-fix
Jan 15, 2026
Merged

fix: exclude Zoom webhook from JSON body parser#771
bokelley merged 3 commits into
mainfrom
bokelley/zoom-webhook-fix

Conversation

@bokelley

Copy link
Copy Markdown
Contributor

Summary

  • The /api/webhooks/zoom path was not excluded from Express's global JSON body parser
  • This caused the request body to be consumed before the Zoom webhook's custom middleware could capture it for HMAC signature verification
  • Result: silent failures with no logs appearing

Changes

  • Add /api/webhooks/zoom to the list of paths that skip express.json()
  • Add initial request logging to the Zoom webhook handler for debugging

Test plan

  • Deploy to production
  • Re-validate Zoom webhook URL in Zoom Marketplace app settings
  • Verify logs show "Received Zoom webhook request" when validation request is sent

🤖 Generated with Claude Code

bokelley and others added 3 commits January 14, 2026 19:36
The /api/webhooks/zoom path was not excluded from Express's global
JSON body parser, causing the request body to be consumed before the
Zoom webhook's custom middleware could capture it for HMAC signature
verification. This resulted in silent failures with no logs.

- Add /api/webhooks/zoom to the list of paths that skip express.json()
- Add initial request logging to the Zoom webhook handler for debugging

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@bokelley bokelley merged commit ab87e6c into main Jan 15, 2026
6 checks passed
bokelley added a commit that referenced this pull request Jan 16, 2026
* fix: exclude Zoom webhook from JSON body parser

The /api/webhooks/zoom path was not excluded from Express's global
JSON body parser, causing the request body to be consumed before the
Zoom webhook's custom middleware could capture it for HMAC signature
verification. This resulted in silent failures with no logs.

- Add /api/webhooks/zoom to the list of paths that skip express.json()
- Add initial request logging to the Zoom webhook handler for debugging

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: add empty changeset for webhook fix

* chore: add description to changeset

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
bokelley added a commit that referenced this pull request Jan 20, 2026
* fix: exclude Zoom webhook from JSON body parser

The /api/webhooks/zoom path was not excluded from Express's global
JSON body parser, causing the request body to be consumed before the
Zoom webhook's custom middleware could capture it for HMAC signature
verification. This resulted in silent failures with no logs.

- Add /api/webhooks/zoom to the list of paths that skip express.json()
- Add initial request logging to the Zoom webhook handler for debugging

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: add empty changeset for webhook fix

* chore: add description to changeset

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
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.

1 participant