← Tüm terimler
JSON Web Token (JWT)

JSON Web Token (JWT) nedir?

JWT, kimlik taleplerini JSON olarak taşıyan, dijital imzalı ve kompakt bir jetondur; servislerin bir isteğin kimden geldiğini veritabanına bakmadan doğrulamasını sağlar.

Son güncelleme: 14 Temmuz 2026

JWT nasıl çalışır

Bir JWT, noktalarla birleştirilmiş üç Base64URL kodlu bölümden oluşur: header.payload.signature. Başlık, RS256 gibi imzalama algoritmasını belirtir. Yük ise talepleri taşır: iss (veren), sub (özne), aud (hedef kitle), exp (son geçerlilik) ve iat (veriliş zamanı) gibi kayıtlı talepler ile e-posta, roller veya kiracı gibi özel talepler. İmza ilk iki bölümü kapsar; en küçük değişiklik jetonu geçersiz kılar.

İmzalama iki ailede toplanır. HMAC (HS256), imzalama ve doğrulama için tek bir ortak sır kullanır; tek uygulamalı senaryolara uygundur. RSA (RS256/384/512) veya ECDSA gibi asimetrik algoritmalar özel anahtarla imzalar; genel anahtarı elinde tutan herkes doğrulayabilir. Kimlik sağlayıcıların anahtarlarını bir JWKS uç noktasında yayımlamasının ve her mikroservisin jetonları bağımsızca doğrulayabilmesinin nedeni budur. Kritik nokta şudur: standart bir JWT imzalıdır ama şifreli değildir; jetonu ele geçiren herkes yükü okuyabilir, bu yüzden taleplerde asla sır taşınmaz.

JWT neden önemli

JWT, modern kimliğin temel jeton biçimidir. OpenID Connect kimlik jetonları tanım gereği JWT'dir, OAuth 2.0 erişim jetonları da çoğunlukla öyledir ve sektördeki API'ler bunları hamiline kimlik bilgisi olarak kabul eder. Cazibesi durumsuzluğundadır: servis imzayı doğrular, son geçerliliği ve hedef kitleyi kontrol eder, sonra bir oturum deposuna veya ağ çağrısına gerek kalmadan taleplere güvenir; bu da mikroservislere ve yatay ölçeklemeye doğal biçimde uyar.

Durumsuzluk, yönetilmesi gereken ödünleşimdir de. İmzalı bir jeton süresi dolana dek geçerli kalır; ömrü içinde erişimi geri almak ek mekanizma ister. Pratik desen, saatler değil dakikalarla ölçülen kısa ömürlü erişim jetonları kullanmak ve bunları kimlik sağlayıcıdan yenilemektir; sağlayıcı her yenilemede kullanıcının durumunu yeniden değerlendirir. Tek başına anında iptal gerektiren senaryolara ise sunucu taraflı oturumlar veya jeton sorgulama (introspection) daha uygundur.

Uygulamada JWT

Doğrulama disiplini her şeydir. İmzayı verenin yayımlanmış anahtarlarına göre doğrulayın; beklenen algoritmayı jetonun başlığına güvenmek yerine sabitleyin (alg=none ve algoritma karıştırma saldırıları tam olarak bunu istismar eder) ve her istekte iss, aud ve exp değerlerini kontrol edin. Jetonları betiklerin okuyabildiği tarayıcı local storage alanından uzak tutun; httpOnly çerezler veya bellek içi saklama daha güvenli adreslerdir.

Jeton her istekle taşındığı için yükü yalın tutun ve imza anahtarlarını istemcilerin JWKS üzerinden izleyebileceği bir düzenle döndürün. Monosign, OIDC ve API entegrasyonları için RSA-SHA256, SHA384 veya SHA512 ile imzalanmış JWT'ler üretir; servisler yayımlanan anahtarlarla bunları bağımsızca doğrular.

Sık sorulan sorular

JWT'ler şifreli midir?
Standart JWT'ler (JWS) imzalıdır, şifreli değildir: yük yalnızca Base64URL ile kodlanır ve jetonu elinde tutan herkes okuyabilir. İmza bütünlüğü ve gerçekliği garanti eder, gizliliği değil. Taleplerin kendisinin gizli kalması gerekiyorsa JWE varyantı yükü şifreler; ancak daha yaygın kural, hassas veriyi JWT'ye hiç koymamaktır.
JWT ile oturum çerezi arasındaki fark nedir?
Oturum çerezi, sunucuda tutulan duruma işaret eden rastgele bir referanstır; iptal anında gerçekleşir ama her istek bir oturum sorgusu gerektirir. JWT ise durumu kendi içinde taşır; doğrulama yerel ve hızlıdır ama jeton süresi dolana dek geçerli kalır. Birçok sistem ikisini birleştirir: kimlik sağlayıcıdan gelen JWT oturumu başlatır, sonrasını uygulama kendi oturumuyla yönetir.
Bir JWT ne kadar süre geçerli olmalı?
Erişim jetonları dakikalarla, yaygın olarak 5 ile 60 dakika arasında yaşamalıdır; böylece çalınan bir jetonun işe yarar ömrü kısa olur. Daha uzun oturumlar, kimlik sağlayıcının iptal edebildiği ve her yenilemede politikaların yeniden değerlendirilmesini tetikleyen yenileme jetonlarıyla sürdürülür. Uzun ömürlü erişim jetonları, JWT kurulumlarının hırsızlığa karşı ana savunmasından vazgeçmek demektir.