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.
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:
signalanını hariç tutun.- Boş değerleri olan alanları atlayın.
- Kalan alan adlarını ASCII sırasına göre sıralayın.
- Alanlara
k=v&k2=v2olarak katılın. - HMAC-SHA256 onaltılı imzayı
apiSecretile 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
Gizli depolama
- Bir arka uç gizli yöneticisinden veya korumalı çalışma zamanı yapılandırmasından
apiSecretdosyası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.