我目前正在使用 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/