From beccbd8d529106e879f74ee945e1b73d4d6e3366 Mon Sep 17 00:00:00 2001 From: Shwetha Radhakrishna Date: Wed, 6 Oct 2021 10:45:40 -0700 Subject: [PATCH] docs: improve signed webhook validation instruction (#1308) --- TROUBLESHOOTING.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md index 2d312eee..e89d4b18 100644 --- a/TROUBLESHOOTING.md +++ b/TROUBLESHOOTING.md @@ -15,6 +15,7 @@ If you can't find a solution below, please open an [issue](https://github.com/se * [Using the Package Manager](#package-manager) * [Viewing the Request Body](#request-body) * [Wrapping Text](#wrapping-text) +* [Verifying Event Webhooks](#signed-webhooks) ## Migrating from v2 to v3 @@ -158,3 +159,15 @@ You can also wrap the text in the HTML to make a multi-line blog post: int d = 10; +``` + + +## Signed Webhook Verification + +Twilio SendGrid's Event Webhook will notify a URL via HTTP POST with information about events that occur as your mail is processed. [This](https://docs.sendgrid.com/for-developers/tracking-events/getting-started-event-webhook-security-features) article covers all you need to know to secure the Event Webhook, allowing you to verify that incoming requests originate from Twilio SendGrid. The sendgrid-nodejs library can help you verify these Signed Event Webhooks. + +You can find the end-to-end usage example [here](docs/use-cases/event-webhook.md) and the tests [here](packages/eventwebhook/src/eventwebhook.spec.js). +If you are still having trouble getting the validation to work, follow the following instructions: +- Be sure to use the *raw* payload for validation +- Be sure to include a trailing carriage return and newline in your payload +- In case of multi-event webhooks, make sure you include the trailing newline and carriage return after *each* event