HMAC-подпись — это хеш временной метки и тела вебхука, вычисленный с помощью секретного ключа по HMAC-SHA256; она позволяет проверить, что событие пришло от шлюза и не было изменено.
Отправить HTTP-запрос на адрес вебхука может кто угодно, поэтому событие нужно проверять. Шлюз вычисляет HMAC-SHA256 от метки времени, разделителя и точного исходного тела с секретом эндпоинта; получатель повторяет расчёт и сравнивает подписи с постоянным временем выполнения. Метка времени позволяет отклонять старые события и защищает от повторного воспроизведения перехваченного запроса.
Распространённая ошибка — проверять заново сериализованное тело. Подпись проверяют по исходным байтам до разбора JSON.
В SMSMeteor: заголовок X-Meteor-Signature содержит t=timestamp,v1=signature для строки timestamp.body; примеры проверки для Node, Python и PHP приведены на странице вебхуков.
