JWT (JSON Web Token) Nedir
Taşınabilir Kimlik mi, Taşınabilir Risk mi
“Taşıdığın şey kimlikse, düşürdüğünde sadece seni değil sistemi de ele verir.”
— Ersan Karavelioğlu
JWT Nedir
JWT (JSON Web Token), taraflar arasında
imzalı ve taşınabilir bir şekilde kimlik ve yetki bilgisini iletmek için kullanılan kompakt bir token formatıdır.

Sunucu hatırlamaz;

Token anlatır.
JWT Ne İşe Yarar

Stateless authentication

API’ler arası yetkilendirme

Ölçeklenebilirlik sağlar
JWT Yapısı Nasıldır
Header – Algoritma ve tür
Payload – İddialar (claims)
Signature – Bütünlük ve doğrulama

Üç parça, tek gerçek
Header’da Ne Var

alg, typ

Yanlış alg seçimi büyük risktir

Güvenlik imzada başlar
Payload Gerçekten Güvenli mi

Base64 encoded
Şifreli değildir

İçeriği herkes okuyabilir
Signature Neyi Korur

Token’ın
değiştirilmediğini

Kim tarafından üretildiğini

Ama gizliliği değil
Stateless Olmanın Bedeli

Performans ve ölçek

Ama iptal (revocation) zordur

Sunucu “unutamaz”
JWT ile Authentication Nasıl Çalışır

Kullanıcı giriş yapar

Token alır

Her istekte token gönderir

Sunucu sadece doğrular
En Büyük Yanılgı

“Token imzalıysa güvendedir.”

Yanlış kullanım her şeyi bozar

İmza her derde deva değildir
JWT ve Süre (exp)

Uzun süreli token = uzun risk

Kısa süreli token = daha güvenli

Süre, güvenliğin kalbidir

Refresh Token İlişkisi

Access token kısa

Refresh token uzun ömürlü

Çalınırsa etki büyüktür

JWT Nerede Saklanmalı

HTTP-only cookie (önerilir)

LocalStorage → XSS riski

Saklama yeri saldırı yüzeyidir

JWT ve XSS

XSS token çalar

Taşınabilirlik saldırganın lehinedir

Token cebinde dolaşır

JWT ve CSRF

Cookie kullanımı CSRF doğurur

CSRF token şarttır

Güvenlik katmanlıdır

Algoritma Yanılgıları

none algoritması

HS256 ↔ RS256 karışıklığı

Yanlış alg, kapıyı açar

JWT ile Yetkilendirme Hatası

Token var diye her şeye izin

Scope ve claim kontrolü yok

IDOR burada başlar

JWT Ne Zaman Kullanılmamalı

Hassas veriler taşınacaksa

Sık iptal gerekiyorsa

Stateless her zaman doğru değildir

JWT Güvenli Kullanım İlkeleri

Kısa ömür

Net scope

Backend doğrulaması

Token = yetki belgesi

Son Söz
Taşınabilirlik Güçtür, Kontrol Yoksa Tehdittir

JWT,
doğru elde güç, yanlış elde risktir.

Kimliği cebine koymak, onu kaybetmeyi de kabul etmektir.

Güvenli sistem, token’a değil kurala güvenir.
“Token’ı taşıyan değil, onu sınırlayan güvendedir.”
— Ersan Karavelioğlu