2015-08-19 4 views
2

В настоящее время мы используем webgook Mailgun для преобразования ответа электронной почты на ответ в потоке комментариев в нашем приложении. Мы установили маршрут для соответствия получателю и установили действие на store(notify="https://example.com/example-endpoint"). Mailgun POSTs к данной конечной точке, где мы затем обрабатываем сообщение и добавляем его в поток комментариев приложения.Доступ к Webhook Mailgun

Мой вопрос заключается в следующем:

Как заблокировать конечную точку, так что Mailgun является единственным органом, который может разместить здесь? Есть ли список IP-адресов, которые я могу добавить в белый список? Есть ли специальный ключ, который они отправляют, который я могу проверить с помощью частного ключа API?

ответ

1

Я нашел свой собственный ответ в документации. Я должен был внимательно прочитать документацию.

В разделе «Обеспечение безопасности Webhooks» под https://documentation.mailgun.com/user_manual.html#webhooks говорит:

Чтобы гарантировать подлинность запросов событий, Mailgun подписывает их и отправляет на подпись вместе с другими параметрами webhook.

я должен был сравнить значение signature в полезной нагрузке на SHA256 HMAC хэш timestamp и token с помощью клавиши апи в качестве ключа HMAC.

Например:

$_POST['signature'] === hash_hmac('sha256', $_POST['timestamp'] . $_POST['token'], 'example-api-key); 
Смежные вопросы