Skip to content

API Key kimlik doğrulama

API Key ile kimlik doğrulamada, yapılan her istekte API Key bilgisnin, imza bilgisinin ve imza doğrulama için gerekli bilgilerin gönderilmesi gerekmektedir.

API Key kimlik doğrulama için Request Header'da gönderilmesi gerekenler

  • X-Api-Key: Klogs tarafından firmanıza gönderilen API key bilgisi
  • X-Klogs-Rnd: Rastgele üretilmiş bir değer. (UUID)
  • X-Klogs-Timestamp: Unix time millisecond https://currentmillis.com/
  • X-Klogs-Signature: İmza bilgisi

İmza hesaplama

API Key, Rastgele üretilen değer ve Timestamp birleştirilerek, SecretKey ile HMACSHA256 algoritmasına tabi tutulur. Ortaya çıkan değerin hexadecimal sonucu imza başlığına eklenir.

{API Key}+{Rastgele değer}+

Örn:

ApiKey: 123
Random: aac2550d-74d0-413d-8080-f5d84396cc1d
Timestamp: 1771415363598

SecretKey: ABC123

value = HMACSHA256(123aac2550d-74d0-413d-8080-f5d84396cc1d1771415363598, ABC123)

CONVERT_HEX(value)

Result = 0facd42c475e925fad213dcff4595915c7b0c6bf9a54144259eae7c2d2e9843e

🧾 Örnek Request

bash
curl --location --request POST 'https://some.klogs.dev/api/foo' \
--header 'X-Api-Key: 123' \
--header 'X-Klogs-Rnd: aac2550d-74d0-413d-8080-f5d84396cc1d' \
--header 'X-Klogs-Timestamp: 1771415363598' \
--header 'X-Klogs-Signature: 0facd42c475e925fad213dcff4595915c7b0c6bf9a54144259eae7c2d2e9843e' \
--data ''

💡 Ekstra İpuçları

  • Zaman aşımı: İsteğin oluşturulması ile sunucuya gitmesi arasındaki zaman farkının 15 dakikadan fazla olmaması gerekmektedir.