Выбор ответа Middle gRPC, SOAP и другие протоколы обновлено

Как проверить подлинность вебхука

Вопрос

Платёжный провайдер присылает вебхук о результате оплаты. Как убедиться, что запрос пришёл от провайдера?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Проверить подпись запроса (HMAC) или статус платежа по API. Подлинность подтверждает криптография (подпись, mTLS) или повторный запрос к провайдеру по защищённому API, иногда дополнительно список IP-адресов провайдера.

Варианты ответа

  1. Проверить подпись запроса (HMAC) или статус платежа по APIправильный ответ
  2. Проверить, что тело запроса корректный JSON по схеме провайдера
  3. Достаточно того, что URL вебхука секретный и нигде не публикуется
  4. Проверить, что в заголовке User-Agent указано имя провайдера

Разбор

Подлинность подтверждает криптография (подпись, mTLS) или повторный запрос к провайдеру по защищённому API, иногда дополнительно список IP-адресов провайдера. User-Agent и формат тела легко подделать. Секретный URL утекает в логах и не является защитой сам по себе.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.