dev-tools
Словарь ↗Webhook Signing (подписывание вебхуков)
Webhook signing (подписывание вебхуков) — способ, которым сервис доказывает вашему приложению, что входящий вебхук действительно пришёл от него и не был подделан или изменён. Поскольку вебхук — это просто HTTP-запрос, попадающий на публичный URL, любой, кто узнает этот URL, может слать фейковые события. Чтобы этого не допустить, отправитель вычисляет криптографическую подпись — обычно HMAC от сырого тела запроса с использованием общего секрета — и кладёт её в заголовок; ваш эндпоинт пересчитывает тот же HMAC со своей копией секрета и отклоняет запрос, если они не совпали. Это подтверждает и подлинность, и целостность. Stripe, GitHub и большинство серьёзных провайдеров вебхуков подписывают именно так. Для AI/SaaS-разработчиков, потребляющих вебхуки — платёжные события, уведомления о деплое, обновления от сторонних сервисов, — проверка подписи это несогласуемый шаг безопасности; непроверяющий обработчик вебхуков, меняющий данные, — открытая дверь. Практическая заметка: подписывайте по точным сырым байтам тела (а не по распарсенному JSON), защищайтесь от replay-атак с помощью вложенной метки времени и используйте сравнение за константное время, чтобы не допустить утечки по таймингу.
Похожие термины