Agent SDK Секрети та HMAC підписання

Захистіть облікові дані Agent API та розуміть, як SDK генерує часові позначки, стійкі до повтору HMAC—SHA256 запитувати підписи.

View as Markdown

Agent SDK запити автентифікуються у партнера API секреті. Зберігайте цю таємницю в надійному бекенд-сервісі і дозвольте SDK генерувати підписні поля, коли це можливо.

Два протоколи підписання

Agent SDK підписання використовує відсортовані поля запиту, часову мітку на основі секунд і nonce. Прямий розробник API запитів використовує окремий процес, описаний у Підписання запитів. Не використовуйте один формат корисного навантаження для іншого.

Правило підписання

Щодо Agent SDK запитів:

  1. Виключіть поле sign .
  2. Опустити поля з порожніми значеннями.
  3. Відсортуйте решту назв полів у ASCII порядку.
  4. Приєднуйтесь до полів як k=v&k2=v2.
  5. Обчисліть HMAC-SHA256 шістнадцятковий підпис з apiSecret.

SDK має будувати це значення на основі тих самих даних, які вона надсилає. Зміна підписаного поля після генерації підпису призводить до невдачі перевірки.

SDK-керовані поля

ПолеДжерелоОпис
agentCodeSDK конфігураціїКод партнера-агента.
Часова міткаПоточний час сервераТайммарк Unix за секунди.
nonceБезпечне випадкове значенняВипадковий рядок із захистом повтору.
ЗнакHMAC-SHA256Запитуйте підпис.
ВалютаВалюта за замовчуваннямВикористовується при переказі/обліку API виключити валюту.

Секретне зберігання

  • Завантажувати apiSecret з бекенд-менеджера секретів або захищеної конфігурації під час виконання.
  • Ніколи не розміщуйте секрет у фронтенд-пакетах, мобільних додатках, десктопних клієнтах, скріншотах чи заявках у службу підтримки.
  • Тримати документи для розробки, постановки та виробництва окремо.
  • Обмежити доступ до сервісів і операторів, які його потребують.
  • Редагувати підписи запитів, значення авторизації та секрети з журналів.
  • Відкликати та замінити облікові дані у разі підозри на вплив.

Захист від годинника та повторів

SDK включає timestamp та nonce для зниження ризику повторного проходження. Підтримуйте синхронізацію бекенд-тактів і не використовуйте вручну створений nonce повторно. Якщо перевірка підпису не вдається, підтвердіть налаштований секрет, час сервера, серіалізовані поля та середовище перед повторною спробою.

Чек-лист інтеграції

ПеревіреноОчікуваний результат
Секретне розташуванняСекретне сховище лише через бекенд.
Навколишнє середовищеБазовий URL та кваліфікація належать до одного середовища.
Польова обробкаSDK генерує timestamp, nonceі sign.
ЛісозаготівляБізнес-ідентифікатори залишаються видимими, а облікові дані видаляються.
РотаціяПроцес отримання сертифікату та заміни документується.