Підписання запитів
Підписання запитів
Формат запиту
Сигнатурне корисне навантаження
Ключові правила:
timestampмає бути Unix мілісекундним таймштампом. Вікно допуску сервера — ±10 секунд.signatureрозміщується у рядку запиту URL , але не включено до сигнатурного корисного навантаження.- Сервер перевіряє початковий рядок запиту після видалення
signature; він не змінює порядок параметрів запиту. - Порядок параметра запиту, який використовується для підписання, повинен відповідати фактичному запиту URL.
- Якщо існує тіло запиту, JSON рядок, що використовується для підписання, повинен точно збігатися з фактичним переданим тілом.
- Шляхи, пов’язані з порядком, виконують перевірки повтору підпису. Повторне використання одного й того ж підпису протягом короткого періоду повертає
Signature replay detected.
Час сервера
Приклад відповіді:
Клієнти повинні розраховувати timeOffsetMs = serverTimestampMs - localTimestampMs, а потім використовувати timestamp = nowMs + timeOffsetMs для наступних підписаних запитів. Якщо сервер повертає Timestamp outside of tolerance window, негайно синхронізуйте час і генеруйте підпис.
GET Приклад підпису
Фактичний запит:
Сигнатурне корисне навантаження:
POST Приклад підпису
Фактичний запит:
Тіло запиту:
Сигнатурне корисне навантаження: