Gezinmeye atla

Agent SDK Sırlar ve HMAC İmzalama

Aracı API kimlik bilgilerini koruyun ve SDK’in zaman damgalı, yeniden oynatmaya dayanıklı HMAC-SHA256 istek imzalarını nasıl oluşturduğunu anlayın.

Markdown olarak görüntüle

Agent SDK isteklerinin kimliği, bir iş ortağının API sırrıyla doğrulanır. Bu sırrı güvenilir bir arka uç hizmetinde saklayın ve mümkün olduğunda SDK’nin imzalama alanları oluşturmasına izin verin.

İki imzalama protokolü

Agent SDK imzalama, sıralanmış istek alanlarını, saniyeye dayalı bir zaman damgasını ve bir kez olmayanı kullanır. Doğrudan Developer API istekleri, içinde açıklanan ayrı süreci kullanır. İmza İsteği. Bir veri yükü biçimini diğeri için yeniden kullanmayın.

İmza kuralı

Agent SDK istekleri için:

  1. sign alanını hariç tutun.
  2. Boş değerleri olan alanları atlayın.
  3. Kalan alan adlarını ASCII sırasına göre sıralayın.
  4. Alanlara k=v&k2=v2 olarak katılın.
  5. HMAC-SHA256 onaltılı imzayı apiSecret ile hesaplayın.

Dizi değerleri, imzalama yüküne katılmadan önce kompakt JSON olarak serileştirilir. Örneğin, platformUserIds, ["1188041528"] olarak işaretler ve k=v yükünde platformUserIds=["1188041528"] verir. Dizi öğesi sırasını, çift tırnakları ve dize kimliklerini koruyun; biçimlendirme boşlukları eklemeyin veya Java List.toString() ([1188041528] gibi) kullanmayın. SDK bu serileştirmeyi otomatik olarak gerçekleştirir.

SDK bu değeri gönderdiği verilerden oluşturmalıdır. İmza oluşturulduktan sonra imzalı bir alanın değiştirilmesi doğrulamanın başarısız olmasına neden olur.

SDK-yönetilen alanlar

AlanKaynakTanım
agentCodeSDK yapılandırmaİş ortağı temsilcisi kodu.
zaman damgasıGeçerli sunucu zamanıSaniye cinsinden Unix zaman damgası.
bir kezGüvenli rastgele değerTekrar korumalı rastgele dizi.
imzaHMAC-SHA256İmza isteyin.
para birimiVarsayılan para birimiTransfer/hesap APIs para birimini çıkardığında kullanılır.

Gizli depolama

  • Bir arka uç gizli yöneticisinden veya korumalı çalışma zamanı yapılandırmasından apiSecret dosyasını yükleyin.
  • Sırrı asla ön uç paketlerine, mobil uygulamalara, masaüstü istemcilere, ekran görüntülerine veya destek biletlerine koymayın.
  • Geliştirme, hazırlama ve üretime ilişkin kimlik bilgilerini ayrı tutun.
  • Gereken hizmetlere ve operatörlere erişimi sınırlayın.
  • Günlüklerden istek imzalarını, yetkilendirme değerlerini ve gizli dizileri çıkarın.
  • Etkilendiğinden şüphelenildiğinde kimlik bilgilerini iptal edin ve değiştirin.

Saat ve tekrar koruması

SDK, tekrar oynatma riskini azaltmak için timestamp ve nonce içerir. Arka uç saatlerini senkronize tutun ve manuel olarak oluşturulmuş bir kezliği yeniden kullanmayın. İmza doğrulaması başarısız olursa, yeniden denemeden önce yapılandırılmış sırrı, sunucu saatini, serileştirilmiş alanları ve ortamı onaylayın.

Entegrasyon kontrol listesi

Kontrol etmekBeklenen sonuç
Gizli konumYalnızca arka uçta gizli depolama.
ÇevreTemel URL ve kimlik bilgisi aynı ortama aittir.
Saha kullanımıSDK, timestamp, nonce ve sign üretir.
Günlüğe kaydetmeKimlik bilgileri düzenlenirken işletme kimlikleri görünür durumda kalır.
DöndürmeKimlik bilgisi sahibi ve değiştirme süreci belgelenir.

İlgili güvenlik belgeleri