# HMAC-подпись вебхуков

> HMAC-подпись — это хеш временной метки и тела вебхука, вычисленный с помощью секретного ключа по HMAC-SHA256; она позволяет проверить, что событие пришло от шлюза и не было изменено.

Отправить HTTP-запрос на адрес вебхука может кто угодно, поэтому событие нужно проверять. Шлюз вычисляет HMAC-SHA256 от метки времени, разделителя и точного исходного тела с секретом эндпоинта; получатель повторяет расчёт и сравнивает подписи с постоянным временем выполнения. Метка времени позволяет отклонять старые события и защищает от повторного воспроизведения перехваченного запроса.

Распространённая ошибка — проверять заново сериализованное тело. Подпись проверяют по исходным байтам до разбора JSON.

В SMSMeteor: заголовок `X-Meteor-Signature` содержит `t=timestamp,v1=signature` для строки `timestamp.body`; примеры проверки для Node, Python и PHP приведены на [странице вебхуков](https://smsmeteor.com/ru/docs/webhooks).

Связанные термины: [Вебхук](https://smsmeteor.com/ru/glossary/webhook), [Bearer-токен](https://smsmeteor.com/ru/glossary/bearer-token), [Ключ API](https://smsmeteor.com/ru/glossary/api-key)

---
Источник: https://smsmeteor.com/ru/glossary/hmac-signature (HTML). Создано SMSMeteor на основе тех же данных, что и страница. Сводка всего сайта: https://smsmeteor.com/ru/llms.txt
