SendGrid 传入邮件 Webhook - 如何保护我的端点

标签 sendgrid webhooks endpoints

我目前正在使用 SendGrid 的入站解析 Webhook 将电子邮件提供给我的应用程序。我已经能够通过将 URL 指向我的应用程序公开的端点来使其工作。 SendGrid 只是以 JSON 格式 HTTP POST 请求的形式将电子邮件发送到此端点,我只是在内部处理每个请求。

我的问题是,现在我已经可以使用它了,如何确保只有 SendGrid 可以使用此端点?目前,任何人都可以利用此 HTTP POST 端点并假装电子邮件已发送到应用程序。

我可以让 SendGrid 发送某种唯一 key 来识别自己的身份吗?有没有办法可以通过ip地址来限制?

最佳答案

有两种方法可以保护您的端点。 SendGrid 的 webhooks 支持基本身份验证(例如 https://user:pass@example.com/endpoint)。您还可以实现一个唯一 key ,在根据请求执行操作之前检查该 key (例如 https://example.com/endpoint?key=123)。

但是,答案很简单,您添加到 URL 的任何内容都可以充当 SendGrid 的唯一身份验证。

关于SendGrid 传入邮件 Webhook - 如何保护我的端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20865673/

相关文章:

node.js - 对象不是 SendGrid 的函数

java - 使用 SendGrid 和 Spring 发送邮件

email - 实现类似Google网上论坛(电子邮件部分)的方法

Facebook Messenger Webhook 持续发送消息

testing - Groovy REST 端点测试替代方案

HTML 文件作为 Node.js 中的变量

webhooks - 如何在 Telegram 机器人中创建表单

asp.net-web-api - 使用 Atlassian Webhook 与 ASP.NET WebAPI?

spring-boot - Spring Boot Actuator 2.x @WriteOperation 以对象作为参数

android - Android : GoogleAuthIOException 中的端点错误