JWT nedir?
Kısa tanım
JWT, iki taraf arasında kimlik ve yetki gibi bilgileri imzalı, kompakt ve URL'de taşınabilir bir metin olarak aktaran belirteç (token) biçimidir.
Son güncelleme:
JWT nedir, bir API isteğinde ne işe yarar?
Kullanıcı bir uygulamaya giriş yaptığında sunucu ona bir belirteç verir; kullanıcı sonraki isteklerde bu belirteci göndererek kim olduğunu her seferinde parola yazmadan kanıtlar. JWT bu belirteçlerin yaygın bir biçimidir. RFC 7519, JWT'yi iki taraf arasında aktarılacak bilgileri (claim) taşıyan, kompakt ve URL'de kullanılabilir bir yöntem olarak tanımlar. Standart RFC Editor sayfasında (yeni sekmede açılır) yer alır.
JWT token yapısı nasıl görünür?
JWT token yapısı üç bölümden oluşur ve bölümler nokta ile ayrılır. İlk iki bölüm JSON verisidir, üçüncüsü imzadır.
- Başlık: belirtecin türünü ve imza algoritmasını söyler.
- İçerik: kullanıcı kimliği, son kullanma zamanı gibi bilgileri taşır.
- İmza: başlık ve içeriğin sonradan değiştirilmediğini doğrulamayı sağlar.
JWT doğrulama nasıl yapılır?
JWT doğrulama sırasında sunucu, belirtecin imzasını kendi anahtarıyla yeniden hesaplar. İmza uyuşmazsa içerik değiştirilmiş demektir ve istek reddedilir. Sunucu ayrıca son kullanma zamanına bakar; süresi dolmuş belirteç kabul edilmez. Bu doğrulama, her istekte veritabanına gitmeden yapılabildiği için hızlıdır.
JWT hangi güvenlik hatalarına açıktır?
En sık hata, süresi çok uzun belirteç vermektir; çalınan bir belirteç uzun süre kullanılabilir. Bir diğeri, belirtecin içeriğini şifreli sanıp içine hassas bilgi koymaktır. İmza anahtarının koda gömülmesi, anahtarın sızması hâlinde bütün belirteçlerin sahte üretilebilmesi demektir. Belirteci kısa ömürlü tutun, anahtarı güvenli bir yerde saklayın ve imza algoritmasını sunucu tarafında sabitleyin.
Kısa kontrol listesi
- Belirtecin son kullanma zamanı var mı?
- İmza her istekte doğrulanıyor mu?
- İçinde parola ya da kart bilgisi yok mu?
- İstek başlığında mı taşınıyor, adreste mi?
JWT ve oturum farkı
Klasik oturumda sunucu kullanıcı bilgisini kendi hafızasında tutar. JWT'de bilgi belirtecin içindedir ve her istekle gelir. Bu sunucuyu hafifletir, ama süresi dolmadan belirteci geri çekmeyi zorlaştırır.
Belirteci yenilemek için ayrı, daha uzun ömürlü ve güvenle saklanan bir yenileme belirteci kullanan sistemler de vardır. Hangi yolun kurulduğunu bağlanacağınız hizmetin dokümantasyonundan öğrenin.
JWT kullanırken nelere dikkat edilir?
JWT'nin içeriği şifrelenmiş değil, yalnızca imzalıdır; içine parola ya da kart bilgisi koymayın. Belirteçleri kısa ömürlü tutun ve adreste taşımak yerine istek başlığında gönderin. Sunucu imza anahtarını kimseyle paylaşmamalıdır. Sistemler arası bağlantıları kurarken kimlik doğrulama yöntemini baştan netleştirmek gerekir; hazır entegrasyonlar için Entegrasyon ve Otomasyon Marketi sayfasına bakabilirsiniz.
JWT nerede karşınıza çıkar?
- Kullanıcı giriş yaptıktan sonra API isteklerine eklenen belirteç
- Mobil uygulama ile mağaza sunucusu arasındaki oturum bilgisi
- Tek oturum açma (SSO) sistemlerinde kimlik bilgisinin aktarılması
- Bir servisin başka bir servise yetkisini kanıtlaması
Entegrasyonları güvenle kurun
Sistemleri birbirine kimlik doğrulamalı ve düzenli şekilde bağlayan hazır entegrasyonlar.
JWT hakkında sık sorulanlar
JWT şifrelenmiş midir?
JWT hangi bölümlerden oluşur?
JWT süresi dolarsa ne olur?
İlk adımı birlikte atalım
Operasyonunuzdaki elle yürüyen işleri inceleyip ayda kaç saatin sistemle yürüyebileceğini yazılı olarak veriyoruz; teknik bilgi ve taahhüt gerekmez.
- Kredi kartı yok
- 1 iş gününde dönüş
- KVKK uyumlu
- Veriler şifreli bağlantıyla iletilir