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.