Автентифікація API

Безпека

Автентифікація API

BroSettlement використовує асиметричні Ed25519-ключі: backend підписує запит приватним ключем, а BroSettlement перевіряє його зареєстрованим публічним ключем.

Обов’язкові headers

HeaderОпис
X-Bro-Api-KeyІдентифікатор API-ключа
X-Bro-TimestampISO 8601 timestamp для replay protection
X-Bro-NonceУнікальне значення для кожного запиту
X-Bro-SignatureEd25519-підпис у Base64

Payload підпису

text
METHOD
/v1/wallets
2026-06-25T09:00:00Z
8f7b8f24-4e6a-45d2-a944-4b11c4c7d2f8
sha256_body_hash

Засоби захисту

  • Ed25519 API authentication.
  • Secrets manager або HSM-backed service для приватних ключів.
  • Ротація ключів, IP allowlist та унікальні nonces.
  • Допустиме вікно timestamp.
  • Обов’язкова 2FA для людей-користувачів.

Приклад запиту

bash
curl https://api.brosettlement.com/v1/wallets \
  -H "X-Bro-Api-Key: api_key_123" \
  -H "X-Bro-Timestamp: 2026-06-25T09:00:00Z" \
  -H "X-Bro-Nonce: unique_nonce" \
  -H "X-Bro-Signature: base64_ed25519_signature"

Типові помилки

ПомилкаПричинаВиправлення
invalid_signatureПідпис не відповідає canonical requestПеревірте payload і body hash
expired_timestampTimestamp поза допустимим вікномСинхронізуйте час через NTP
duplicate_nonceNonce вже використаноГенеруйте унікальний nonce
ip_not_allowedIP відсутній в allowlistОновіть IP allowlist ключа