我们目前正在实现Mailgun的web钩子,以便在应用程序中将电子邮件回复转换为评论线程中的回复。我们设置了一个与接收者匹配的路由,并将操作设置为store(notify="https://example.com/example-endpoint")。Mailgun将数据发布到给定的端点,然后在那里处理消息并将其添加到应用程序注释线程中。
我的问题是这个
我如何锁定端点,以便Mailgun是唯一可以在这里发布的实体?有我可以做白名单的IP列表吗?是否有他们发送的特殊密钥,我可以根据私有API密钥进行验证?
发布于 2015-08-19 19:24:00
我在文件里找到了自己的答案。我应该更仔细地阅读这些文件。
manual.html#webhooks下的“保护Webhooks”部分说:
为了确保事件请求的真实性,Mailgun对其签名并与其他web钩子参数一起发布签名。
我必须将有效负载中的signature值与使用api键作为SHA256键的timestamp和token的SHA256 HMAC哈希进行比较。
例如:
$_POST['signature'] === hash_hmac('sha256', $_POST['timestamp'] . $_POST['token'], 'example-api-key);https://stackoverflow.com/questions/32100710
复制相似问题