JWT nedir? Session tabanlı kimlik doğrulamadan farkı nedir?
Cevap
JWT (JSON Web Token), header.payload.signature biçiminde, imzalı ve kendi içinde bilgi taşıyan bir token'dır. Sunucu imzayı doğrulayarak token'a güvenir; veritabanına bakması gerekmez.
Session yaklaşımında sunucu oturum bilgisini (bellekte, Redis'te) tutar, istemciye yalnızca bir session id çerezi verir.
- JWT: durumsuz (stateless), yatay ölçeklemesi kolay, ama süresi dolmadan iptal etmek zordur.
- Session: anında iptal edilebilir, ama paylaşılan bir oturum deposu gerekir.
Yaygın çözüm kısa ömürlü access token + uzun ömürlü, iptal edilebilir refresh token kullanmaktır.
İlgili API Tasarımı soruları
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.