Webhooks та інтеграції
Перевірте підпис webhook
Обчислюйте підпис за сирим тілом запиту, до будь-якого парсингу JSON, і порівнюйте за сталий час. Повторна серіалізація payload змінює байти, і підпис уже ніколи не збігатиметься.
Кроки
- Візьміть сире тіло як байти. Більшість фреймворків за замовчуванням віддають уже розібраний об’єкт, і це запізно.
- Обчисліть підпис саме за цими байтами, використовуючи секрет вашого endpoint.
- Порівнюйте функцією сталого часу, а не звичайною рівністю рядків.
- Розбирайте JSON лише після того, як підпис зійшовся.
- Відхиляйте все, що не пройшло, і логуйте delivery ID, а не тіло.
Як перевірити результат
Справжня доставка проходить перевірку, а той самий payload зі зміненим одним символом — ні.
Що зазвичай іде не так
- Розбір і повторна серіалізація до обчислення підпису.
- Middleware для парсингу тіла, що з’їдає потік до вашого обробника.
- Звичайне
===на підписі, яке протікає за часом.
Це допомогло завершити задачу?
Це не допомогло
Напишіть нам, вказавши платформу й версію, виконані кроки, очікуваний результат і те, якого workspace чи QR-коду це стосується. Замаскуйте будь-які секрети перед тим, як щось прикріпляти.
Написати в підтримку