如何识别SendGrid事件Webhook以实现多Webhook签名验证?
识别SendGrid Event Webhook的可行方法
下面几个方案能帮你区分不同的Event Webhook,从而匹配对应公钥完成签名验证:
配置自定义HTTP请求头
在SendGrid后台创建或编辑Event Webhook时,找到「Custom Headers」配置项,给每个Webhook设置唯一的自定义头(比如X-SendGrid-Webhook-ID: webhook-marketing-001)。你的端点收到请求后,直接从请求头读取这个标识,就能对应到对应的公钥。分配唯一的端点路径
给不同的SendGrid Event Webhook设置不同的接收路径,比如营销邮件的Webhook用/webhooks/sendgrid/marketing,交易邮件的用/webhooks/sendgrid/transactional。通过请求的URL路径就能直接判断是哪个Webhook发来的数据,不用额外解析payload。在邮件发送时加入自定义标识
发送邮件时,在请求的custom_args字段里添加Webhook的唯一标识(比如{"webhook_id": "transactional-002"})。SendGrid触发事件Webhook时,这个custom_args会被包含在每条事件的payload里,你可以从事件数据中提取该值识别对应的Webhook。
内容的提问来源于stack exchange,提问作者ManaCactus
相关产品推荐
相关产品推荐

