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