Вебхук — это способ, которым внешний сервис отправляет события на ваш сервер. Но запрос на этот URL может отправить кто угодно, поэтому нужно убедиться, что полученный запрос действительно пришёл от того сервиса. Стандартный метод для этого — подпись HMAC.
Отправляющая и принимающая стороны разделяют секретный ключ. Отправитель хеширует тело запроса ключом по HMAC-SHA256 и передаёт подпись в заголовке. Получатель хеширует то же тело тем же ключом и сравнивает, совпадают ли две подписи.
При совпадении одновременно гарантируется две вещи. Правильную подпись может создать только владелец ключа — так подтверждается подлинность; а если тело хоть немного изменится, подпись станет другой — так подтверждается целостность. Так работает большинство вебхуков: GitHub, Stripe, Slack и другие.
Проверить это можно прямо в AG HASH. Включите опцию HMAC, введите общий ключ и вставьте тело запроса — получите значение HMAC-SHA256. Его нужно сравнить с подписью в заголовке запроса. В реальной проверке рекомендуется сравнение за постоянное время, чтобы избежать атак по времени.