Authentication

BYNovax External Commerce API üzerindeki korumalı endpoint'lere erişmek için API Client credential'ınızı her istekte kimlik doğrulama bilgisi olarak göndermeniz gerekir.

Yeni entegrasyonlarda önerilen yöntem Authorization: Bearer <credential> kullanmaktır.

Önerilen yöntem: Bearer Authentication

  • API credential'ınızı Authorization header içinde Bearer şemasıyla gönderin.
  • Header formatı: Authorization: Bearer bnx_live_<client-id>.<secret>
  • Credential'ın başında veya sonunda fazladan boşluk bırakmayın.
  • Credential'ı URL query parametresi içinde göndermeyin.

Alternatif header

  • BYNovax uyumluluk amacıyla X-BYNovax-API-Key header'ını da destekler.
  • Örnek: X-BYNovax-API-Key: bnx_live_<client-id>.<secret>
  • Yeni geliştirmelerde Authorization Bearer yöntemi tercih edilmelidir.

Credential hangi mağazaya erişir?

  • Her credential doğrudan belirli bir BYNovax mağazasına bağlıdır.
  • Authentication başarılı olduğunda mağaza bilgisi credential üzerinden çözülür.
  • İstemci ayrıca store_id göndererek başka bir mağazaya geçemez.
  • Bu nedenle aynı entegrasyon birden fazla mağaza ile çalışacaksa her mağaza için ayrı yetkili credential kullanılmalıdır.

Başarılı authentication

  • Credential aktif olmalıdır.
  • Credential revoke edilmemiş olmalıdır.
  • Credential süresi dolmamış olmalıdır.
  • Secret değeri API Client kaydındaki güvenli hash ile eşleşmelidir.
  • Authentication başarılı olduktan sonra endpoint'in scope kontrolü yapılır.

401 Unauthorized ne zaman döner?

  • Authorization veya desteklenen API key header'ı gönderilmemişse.
  • Credential formatı geçersizse.
  • Client kimliği bulunamıyorsa.
  • Secret hatalıysa.
  • API Client pasif durumdaysa.
  • API Client revoke edilmişse.
  • Credential süresi dolmuşsa.
  • Rotate işleminden sonra eski credential kullanılmaya devam ediliyorsa.

403 Forbidden ne zaman döner?

  • Authentication başarılı olduğu halde endpoint için gerekli scope yetkisi bulunmuyorsa 403 döner.
  • Örneğin yalnızca products:read yetkisine sahip bir credential inventory:write gerektiren stok güncelleme çağrısı yapamaz.
  • 401 kimlik doğrulama problemidir; 403 yetki problemidir.

Rotate sonrası authentication

  • API Client rotate edildiğinde yeni bir secret üretilir.
  • Yeni credential oluşturulduğu anda eski credential geçersiz hale gelir.
  • Uygulamanızda yeni credential aktif edilmeden önce secret store güncellenmelidir.
  • Eski credential ile yapılan çağrılar 401 Unauthorized alır.

Revoke sonrası authentication

  • Revoke edilen API Client External Commerce API'ye erişemez.
  • Revoke edilmiş credential ile yapılan çağrılar 401 Unauthorized alır.
  • Revoke işlemi tenant verilerini veya geçmiş entegrasyon kayıtlarını silmez.

Güvenlik önerileri

  • Credential'ı yalnızca server-side secret olarak saklayın.
  • Frontend JavaScript, mobil uygulama paketi veya public repository içine koymayın.
  • Loglarda Authorization header veya tam credential değerini yazdırmayın.
  • Şüpheli erişim durumunda credential'ı rotate veya revoke edin.
  • Her entegrasyona sadece ihtiyaç duyduğu minimum scope setini verin.