Skip to main content

JWT

Ağırlıklı olarak kullanılan authentication method'udur.

JWT(JSON Web Token) nokta ile birleştirilmiş 3 alandan oluşur.

  • JOSE header: Algoritma hakkında bilgiler içeren başlık JSON objesi (base64 string)
  • JWS payload: JSON token içeriği (base64 string)
  • JWS signature: Header ve payload alanlarının bir secret ile oluşturulan imzası (base64 string)

Token decoding işlemleriniz için jwt.io kullanabilir ya da JWS payload kısmını base64'ten utf8'e çevirip parse edebilirsiniz.

Types

Aşağıdaki tiplerde jwt üretimi yapılmaktadır. Authentication için token isminin olduğu header'a eklenmelidir.

Example
curl --location 'https://testapi.crypto-asset-custody.com/user/user-profile' \
--header 'x-auth: eyJhb...hJoGc'

x-auth

Login sonrasında verilen standart jwt. Hesap hakklında çeşitli bilgiler içerir.

{
"tokenName": "x-auth",
"countryCode": "90",
"phoneNumber": "***6063",
"clientType": 3,
"userId": 1716,
"email": "m***l@gmail.com",
"isCountryRestricted": false,
"roleId": null,
"nonce": "ma6EkN99pEHfjnt9",
"levelId": 3,
"iat": 1754499995,
"exp": 1754586395,
"jti": "8b3***936"
}

p-auth

2FA gerektiren endpoint çağırılması sonucu verilen jwt. Kısa sürelidir. Expire süresi 2FA challenge expire süresine eşitlenmiştir.

Token içeriği içinde bulunan challengeId sahibine söz konusu 2FA challenge üstünde işlem(tamamlama, yenileme, vs) yapma yetkisi sağlar.

{
"tokenName": "p-auth",
"challengeId": "EHo2BgM8ndGvEQVm",
"nonce": "nb5GdutULJxR9RWc",
"iat": 1754498034,
"exp": 1754498634,
"jti": "8b3***936"
}

ot-auth

Kullanıcıya belirli bir aksiyon için tek kullanım hakkı tanıyan jwt. Kısa sürelidir. Aksiyon başarı ile tamamlandığında token geçerliliğini yitirir.

{
"userId": 1716,
"tokenName": "ot-auth",
"clientType": 2,
"authId": "GMjHxQLdgLGfLcYz",
"authType": 2,
"nonce": "U9iNbWNgWi2a22zR",
"iat": 1754499995,
"exp": 1754500295,
"jti": "8b3***936"
}