26

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

我的问题是,既然我已经让它工作了,我如何确保只有 SendGrid 可以使用这个端点?目前,任何人都可以利用这个 HTTP POST 端点并假装已经向应用程序发送了一封电子邮件。

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

4

1 回答 1

30

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

然而,简单的答案是您添加到 URL 中的任何内容都可以作为 SendGrid 的唯一身份验证。

于 2014-01-01T05:27:24.120 回答