CORS: Как обезопасить Facebook Leadgen Webhook? - PullRequest
0 голосов
/ 24 августа 2018

Я создал приложение Express.js, которое работает как веб-крючок для сведений о потенциальных клиентах Facebook и подписано на подписку на событие Leadgen.

Мой вопрос Как я могу защитить этот веб-крючок, чтобы он был доступен только через Facebook напрямую, а не из других источников.

Я пробовал это с модулем cors, но любые попытки настроить источники из белого списка ('http://facebook.com',' https://facebook.com') не увенчались успехом. Я подозреваю, что Facebook не включаетэтот URL в заголовках, но использует очень динамическое происхождение.

Как мне этого добиться?

1 Ответ

0 голосов
/ 27 августа 2018

[CORS - это вещь на стороне клиента, веб-хуки - это сервер-сервер - поэтому здесь не применимо.]

Вы просто хотите проверить подпись SHA-1, которую Facebook отправляет при любом воспроизведении уведомлений - https://developers.facebook.com/docs/graph-api/webhooks/getting-started#validate-payloads:

Мы подписываем все полезные данные уведомлений о событиях с помощью подписи SHA1 и включаем эту подпись в заголовок X-Hub-Signature запроса, которому предшествует sha1=. Вам не нужно проверять полезную нагрузку, но вы должны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...