Blog
JWT Nedir ve Nasıl Çalışır? Yeni Başlayanlar İçin Kapsamlı Rehber
JWT'nin (JSON Web Token) ne olduğunu, nasıl çalıştığını, hangi bölümlerden oluştuğunu ve modern web uygulamalarında kimlik doğrulama için neden kullanıldığını öğrenin.

JWT Nedir ve Nasıl Çalışır?
Modern web uygulamaları geliştiriyorsanız, büyük ihtimalle JWT veya JSON Web Token terimini duymuşsunuzdur. JWT, istemci ile sunucu arasında güvenli bir şekilde bilgi aktarmanın en yaygın yöntemlerinden biridir. Kimlik doğrulama (Authentication), yetkilendirme (Authorization) ve API güvenliği için yaygın olarak kullanılır.
Bu rehberde JWT'nin ne olduğunu, nasıl çalıştığını, hangi bölümlerden oluştuğunu ve neden modern web geliştirmede standart hâline geldiğini öğreneceksiniz.
JWT Nedir?
JWT (JSON Web Token), bilgileri kompakt bir JSON nesnesi olarak güvenli şekilde iletmek için kullanılan açık bir standarttır (RFC 7519).
Her JWT dijital olarak imzalanır, böylece alıcı token'ın değiştirilmediğini doğrulayabilir.
Geleneksel oturum tabanlı kimlik doğrulamanın aksine JWT, kullanıcı bilgilerini sunucuda değil, doğrudan token içinde saklar.
JWT'nin Yapısı
Bir JWT, nokta ile ayrılmış üç bölümden oluşur.
xxxxx.yyyyy.zzzzz
1. Header
Header, token türü ve kullanılan imzalama algoritması hakkında bilgi içerir.
Örnek:
{
"alg": "HS256",
"typ": "JWT"
}
Header daha sonra Base64Url formatında kodlanır.
2. Payload
Payload, kullanıcı bilgilerini (claims) içerir.
Örnek:
{
"userId": 15,
"email": "john@example.com",
"role": "admin"
}
Payload içerisinde şunlar bulunabilir:
- Kullanıcı ID'si
- Kullanıcı adı
- E-posta adresi
- Rol
- Yetkiler
- Son kullanma tarihi
Payload şifrelenmez. Token'a sahip olan herkes içeriğini okuyabilir.
3. Signature
Signature, token'ın değiştirilmediğini doğrulamak için kullanılır.
Aşağıdaki şekilde oluşturulur:
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret
)
Gizli anahtar yalnızca sunucu tarafından bilinir.
JWT Nasıl Çalışır?
Tipik kimlik doğrulama süreci şu şekildedir:
- Kullanıcı giriş yapar.
- Sunucu bilgileri doğrular.
- Sunucu bir JWT oluşturur.
- Token istemciye gönderilir.
- İstemci JWT'yi saklar.
- Sonraki tüm isteklerde token sunucuya gönderilir.
- Sunucu imzayı doğrular.
- Token geçerliyse erişime izin verilir.
Bu yöntem sayesinde sunucuda oturum bilgisi saklamaya gerek kalmaz.
JWT Nerelerde Kullanılır?
JWT aşağıdaki alanlarda yaygın olarak kullanılır:
- Kullanıcı kimlik doğrulama
- REST API'leri
- React, Vue ve Angular uygulamaları
- Mobil uygulamalar
- OAuth 2.0
- Mikroservis mimarileri
- API Gateway çözümleri
JWT'nin Avantajları
JWT'nin önemli avantajları şunlardır:
- Stateless kimlik doğrulama
- Küçük token boyutu
- Hızlı doğrulama
- Birden fazla servis arasında kolay kullanım
- Mobil uygulamalar için ideal
- Kolay ölçeklenebilir
JWT mi, Session mı?
| JWT | Session |
|---|---|
| İstemcide saklanır | Sunucuda saklanır |
| Stateless | Stateful |
| API'ler için idealdir | Klasik web siteleri için uygundur |
| Kolay ölçeklenebilir | Session depolaması gerektirir |
Her iki yaklaşım da uygulamanın ihtiyaçlarına göre tercih edilebilir.
JWT Güvenli midir?
Evet, doğru şekilde uygulanırsa oldukça güvenlidir.
En iyi uygulamalar:
- HTTPS kullanın.
- Token için son kullanma tarihi belirleyin.
- Payload içinde hassas veri saklamayın.
- Güvenli imzalama algoritmaları kullanın.
- Gizli anahtarları düzenli olarak değiştirin.
- Her istekte token imzasını doğrulayın.
Yaygın Hatalar
Yeni başlayanların yaptığı yaygın hatalar:
- Şifreleri JWT içinde saklamak
- Son kullanma tarihi eklememek
- İmzayı doğrulamamak
- Zayıf gizli anahtar kullanmak
- Token'ı HTTP üzerinden göndermek
JWT Örneği
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJ1c2VySWQiOjE1LCJyb2xlIjoiYWRtaW4ifQ.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Bu metin rastgele görünse de aslında Header, Payload ve Signature bölümlerinden oluşur.
Sonuç
JWT, günümüz web geliştirme dünyasında en yaygın kullanılan kimlik doğrulama teknolojilerinden biridir. Sunucuda oturum saklamadan istemci ile sunucu arasında güvenli bilgi paylaşımı sağlar.
REST API, mobil uygulama veya SPA geliştiriyorsanız JWT'nin çalışma mantığını bilmek önemli bir beceridir. HTTPS, doğru imza doğrulaması ve güvenli yapılandırma ile birlikte kullanıldığında JWT güçlü, güvenli ve ölçeklenebilir bir kimlik doğrulama çözümü sunar.