Skip to main content

HMAC

x-auth isteyen endpoint'lere eklenmesi gerekir.

Algoritma olarak SHA-256 kullanılmaktadır. Client /auth/login akışı ile login olduktan sonra response body içinde x-auth ile ilişkili hex formatında bir sessionKey döner. Bu değer client tarafından HMAC key olarak kullanılır. HMAC hakkında.

Millisecond cinsinden epoch timestamp f-timestamp header'ına eklenmeli ve HMAC f-proof header'ına eklenmelidir.

HMAC payload olarak aşağıdaki format kullanılmalıdır.

timestamp(milliseconds) + method(uppercase) + endpoint + query string + request body

Payload içindeki request body, request’e eklemiş olduğunuz body ile aynı veriyi içermelidir. API network üstünden gelen veriler üstünde herhangi bir parsing işlemi yapmadan ham veriyi doğrulama için kullanır. Timestamp, method, endpoint ve query string utf8 encoding ile buffer’a çevrilir. Request body buffer’ı ile birleştirilip HMAC hesaplanır. f-proof header'ındaki HMAC ile karşılaştırılır, eşleşme sağlanırsa request devam eder.

Payload Örnek
GET /user/user-profile

1754484449030GET/user/user-profile?testParameter=testValue
POST /dummy/post

1754484590146POST/dummy/post{
"param1": "hello",
"param2": "20"
}