Glossary
Claim (JWT İddiası)
JWT yükündeki anahtar-değer iddiası
By Buğra SözeriPublished Updated
Bir claim, token’ın konusu hakkında bir şey iddia eden JWT yükündeki ad/değer çiftidir. İddialar JSON özellikleridir; yük ise bunlardan oluşan bir JSON nesnesidir. RFC 7519 §4’te tanımlanan standart iddialar:
iss— Veren (Issuer): token’ı kimin oluşturduğu.sub— Konu (Subject): token’ın kimin hakkında olduğu (genellikle kullanıcı kimliği).aud— Hedef Kitle (Audience): token’ın kime yönelik olduğu. Dize veya dizi olabilir.exp— Son Kullanma (Expiry): token’ın reddedilmesi gereken Unix saniyesi.iat— Verilme Zamanı (Issued At): token’ın oluşturulduğu Unix saniyesi.nbf— Geçerlilik Başlangıcı (Not Before): token’ın geçersiz olduğu Unix saniyesi öncesi.jti— JWT Kimliği: iptal takibi için benzersiz tanımlayıcı.
Standart setin ötesinde uygulamalar kendi iddialarını ekler: role, email, tenant_id, permissions vb. RFC 7519 özel iddiaların nasıl görüneceğini kısıtlamaz; ancak IANA çakışmaları önlemek için bilinen adların bir kayıt defterini tutar.
Ayırt edilmesi gereken üç iddia sınıfı: kayıtlı (yukarıdaki yedi, IANA yönetimli), genel (IANA’ya kayıtlı veya çakışmaları önlemek için URI altında ad alanlı) ve özel (veren ve tüketici arasında karşılıklı olarak kararlaştırılmış; ad alanlaması yok).
Bir JWT’deki her iddiayı JWT çözücümüzle çözün ve inceleyin. Standart iddiaları ayrı ayrı gösterir ve son kullanma süresini makinenizin mevcut zamanına göre hesaplar.
Özel iddia ad alanlaması — standart uygulama: bir uygulama, satıcılar arasında paylaşılabilecek bir token’a gömülecek özel iddialar eklediğinde, bunları sahip olduğunuz bir URI ile ön ekleyin. Auth0 https://yourdomain.com/claims/role kullanır; AWS Cognito ise cognito:groups kullanır. role veya permissions gibi düz adlar kullanışlıdır ancak gelecekte IANA tarafından kayıtlı iddialarla ve diğer satıcıların kurallarıyla çakışma riski taşır. Referans: IANA JSON Web Token İddiaları Kayıt Defteri.
Hesaplanmış örnek: exp ve nbf doğrulama
{"sub":"42","iat":1716220800,"exp":1716224400,"nbf":1716220800} JWT yükünü ele alalım. Token Unix zaman damgası 1716220800’de (2024-05-20 16:00:00 UTC) verilmiş, hemen geçerli olmaya başlamış ve 1716224400’de (2024-05-20 17:00:00 UTC) sona ermektedir — bir saatlik ömür. Doğru bir doğrulayıcı mevcut Unix zamanını okur, now ≥ exp ise token’ı reddeder (genellikle saat farkı için 30-60 saniyelik tolerans ile) ve now < nbf ise reddeder. Sektörde fiili standart 60 saniyelik bir toleransdır.
Neden önemlidir: güvenlik etkileri
JWT güvenlik olaylarının çoğu, kriptografik hatalardan değil iddia doğrulama eksikliklerinden kaynaklanır. 2018 Auth0 CVE-2018-0114 bildirimi, imzayı doğrulayan ancak exp’yi atlayan ve çalınan token’ların süresiz tekrar kullanılmasına izin veren kitaplıkları belgeledi. En iyi uygulama: geçerli tüm standart iddiaları her zaman doğrulayın (iss, aud, exp, nbf, artı imza ve algoritma izin listesi). Referans: RFC 8725 — JSON Web Token En İyi Güncel Uygulamalar.
Hesaplayıcıyı deneyin
Bir JWT’yi çözün ve tam olarak hangi iddiaları taşıdığını görün — iss, sub, exp ve özel olanlar.
JWT çözücüyü açın →Frequently asked questions
- JWT’de claim nedir?
- Claim, bir JSON Web Token (JWT) yükündeki anahtar-değer çiftidir. exp (son kullanma zamanı), sub (konu) ve iss (veren) gibi kayıtlı iddialar RFC 7519 tarafından standartlaştırılmıştır; özel iddialar ise token kullanan taraflarca kararlaştırılan özel anahtar-değer çiftleridir.
- Claim’ler pratikte nasıl kullanılır?
- Bir kimlik doğrulama sunucusu {"sub": "user-123", "role": "admin", "exp": 1800000000} gibi iddialar içeren bir JWT verir. API, veritabanını tekrar sorgulamadan erişim haklarına karar vermek için role iddiasını okur — iddia, JWT imzası tarafından doğrulandığından güvenilirdir.
- Kayıtlı iddia ile özel iddia arasındaki fark nedir?
- Kayıtlı iddialar (iss, sub, aud, exp, nbf, iat, jti) IANA standartlarına sahiptir ve tanımlanmış anlamları vardır. Özel iddialar, {"tenant_id": "acme-corp"} gibi uygulamanıza özgü alanlardır — bunlar için standart bir anlam yoktur.
- JWT iddiaları şifreli midir?
- Hayır — standart bir JWT (JWS) içinde yük yalnızca Base64url ile kodlanmıştır, şifreli değildir. Token’a sahip olan herkes iddiaları çözebilir ve okuyabilir. İddiaların gizli kalması gerekiyorsa JWE (JSON Web Encryption) kullanın ya da iddialara hassas veri koymaktan kaçının.
Related
Published May 16, 2026 · Last reviewed May 31, 2026