CORS: как защитить веб-перехватчик Facebook Leadgen?

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

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

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

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

CORS - это клиентская вещь, а веб-перехватчики - сервер-сервер. Вы просто хотите проверить подпись SHA-1, которую отправляет Facebook, с любой загрузкой уведомлений, developers.facebook.com/docs/graph-api/webhooks/…

CBroe 24.08.2018 15:54

Спасибо большое, это очень помогает! Если вы опубликуете это как ответ на этот вопрос, я отмечу это.

to7be 27.08.2018 10:07
Почему Facebook остановился на PHP
Почему Facebook остановился на PHP
PHP имеет долгую историю с Facebook, и это был основной язык программирования, использовавшийся для создания сайта в первые годы его существования....
1
2
235
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

We sign all Event Notification payloads with a SHA1 signature and include the signature in the request's X-Hub-Signature header, preceded with sha1=. You don't have to validate the payload, but you should.

Другие вопросы по теме