JWT'nin istemcinin iddiası hakkında imzalanmış bilgileri depolayan ve Yetkilendirme HTTP üstbilgisi aracılığıyla bir sunucuya aktarılan durum bilgisi olmayan belirteçler olduğunu anlıyorum.İstemci oturumlarımız olduğunda neden JWT'ye ihtiyacımız var?
Sorum şu ki, zaten istemci oturumlarımız olduğunda (https://github.com/mozilla/node-client-sessions) JWT'ye neden ihtiyacımız var? Müşteri oturumları kavramsal olarak aynıdır. Doğrulandığında, çerezin temperleme yapılmadığı anlamına gelen imzalı bilgileri içeren çerezlerdir. Ayrıca, istemci oturumları bir çerezde saklanır ve Cookie HTTP üstbilgisi üzerinden geçirilir. Sadece farklı kelimeler kullanarak aynı şey. Yanlış mıyım?
Peki, neden JWT bile buralarda? Belki de buradaki nokta, kimlik doğrulama jetonlarının çalışma şeklini standartlaştırmak olduğunu anlayabiliyordu, ancak oturum kimliği temelli bir standart olmaksızın para cezası aldık (her bir uygulama, kendi yöntemlerini gerçekleştirdi). Ayrıca, JWT neden bir transfer aracı olarak çerezleri kullanmazdı? Çerezlerle, her istek için (Ajax isteklerini basitleştirerek) doğru üstbilgiyi açıkça göndermeniz gerekmez.
Bir şey mi eksik?
Not: Burada Stormpath adamlarına göre (https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage/) - JWT jetonları CSRF saldırılarına karşı savunmasızdır Çerezlerde saklanırsa –
Elbette, JWT'yi bir çerezde saklar ve API'nizi doğrulamak için kullanırsanız, örtülü kimlik doğrulamasıyla geri dönersiniz. JWT jetonları genellikle çerezlerde saklanmaz, ancak 'Yetkilendirme' HTTP başlığında taşıyıcı jetonları olarak gönderilir. Ayrıca şu makaleye bakın: http://leastprivilege.com/2015/04/01/implicit-vs-explicit-authentication-in-browser-based-applications/ – MvdD