SHA256 Kimlik Doğrulama

iyzico hizmetlerindeki kimlik doğrulama, Base64 ve HmacSHA256 hashleme dahil olmak üzere hassas bir şifreleme teknikleri dizisi aracılığıyla güvenliği artırır. API'ımıza güvenli bir şekilde erişmek için kimlik doğrulama gereklidir. SHA256 Kimlik Doğrulama, API Key, randomKey ve encryptedData(HmacSHA256 ile Şifrelenmiş)'in HTTP isteklerinizin başlığına dahil edilmesiyle gerçekleştirilir.

API'ımıza güvenli bir şekilde erişmek için kimlik doğrulama gereklidir. Kimlik doğrulama, API Anahtarı ve randomKey'in HTTP isteklerinizin başlığına dahil edilmesiyle gerçekleştirilir.

"Authorization": "IYZWSv2"+" "+"base64EncodedAuthorization"

Genel Bakış

İşte gerekli bileşenlerin ayrıntılı bir açıklaması:

  • apiKey : Hesabınıza atanmış benzersiz API anahtarı

  • random-key-123 : Her API çağrısı için istek başlığına dahil edilen rastgele oluşturulmuş bir numara

  • secretKey : Hesabınızla ilişkili gizli anahtarınız.

  • base64EncodedAuthorization : İstek parametrelerinin kodlanmış versiyonu.

Kimlik doğrulama tek bir adımda basitçe yapılır. Ancak bir Yetkilendirme Dizisi oluşturmak için üç adım vardır.

  1. dataToEncrypt

  2. encryptedData

  3. authorizationString

dataToEncrypt

dataToEncrypt, yükünüzün rastgele oluşturulan anahtarla birleştirilmiş halini temsil eder. Bu adımdan önce, yükünüzün belirli eylemler aldığı vardır. Örneğin, verilerinizi URL adreslerinizle birleştirme.

encryptedData

Bu adımda, bir önceki adımda sahip olduğunuz dataToEncrypt'i şifrelersiniz. Benzersiz bir secretKey sağlayan bir sandbox hesabı oluşturduğunuzu varsayarsak, secretKey dataToEncrypt'in HMAC hash'ini oluşturmak için kullanılır, bu da isteğin bütünlüğünü ve doğruluğunu sağlamak için yetkilendirme dizesine dahil edilir.

Kimlik doğrulamada kullanılacak imza, nispeten aşağıdaki formül kullanılarak oluşturulur;

HmacSHA256(dataToEncrypt, secretKey)

Sonuç, autharizationString oluşturmak için kullanacağınız imzanızdır.

authorizationString

Bir önceki adımda oluşturduğumuz benzersiz apiKey, randomKey ve encryptedData'yı birleştirerek authorizationString oluşturabiliriz.

authorizationString aşağıdaki formül kullanılarak oluşturulur;

authorizationString = "apiKey:" + apiKey
            +"&randomKey:" + randomKey
            +"&signature:" + encryptedData;

authorizationString oluşturulduktan sonra, oluşturduğumuz dizeyi base64 kullanarak şifrelememiz gerekiyor. Bu bize base64EncodedAuthorization değişkenini verecektir.

Sonra dönüş işlemi için basitçe;

“IYZWSv2 " + base64EncodedAuthorization

IYZWSv2 ve base64EncodedAuthorization arasında tek bir boşluk olduğuna dikkat edin.

Last updated