Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

Çıkış Yap

translation

Bu, AI tarafından çevrilen bir gönderidir.

Seize the day

JWT (JSON Web Token) nedir?

  • tr Writing language: Korece
  • tr Referans Ülke: tr Tüm ülkeler country-flag

Dil Seç

  • Türkçe
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

Text summarized by durumis AI

  • JSON Web Token (JWT), bilgileri güvenli bir şekilde iletmek için kullanılan şifreli bir jetondur.
  • JWT, başlık, yük ve imza olmak üzere üç bölümden oluşur ve imza aracılığıyla verilerin bütünlüğü sağlanır.
  • JWT, durum bilgisi için ayrı bir yönetime ihtiyaç duymadığı için dağıtılmış ortamlarda ölçeklenebilirlik sunar.

JWT nedir?

JSON Web Token(JWT), bilgileri güvenli bir şekilde JSON nesnesi olarak iletmenin bir yoludur ve kamuya açık bir standarttır (RFC 7519). Adından da anlaşılacağı gibi, gerekli bilgileri token'a yerleştirip şifreleyerek kullanır.


JWT, imzalı bir token (imzalı token) olarak vurgulanmaktadır. İmzalarken açık/özel anahtar çiftini kullanmak, imzanın yalnızca özel anahtara sahip tarafın token'ı imzaladığını garanti eder. Yani, anahtara sahip sunucu, bu token'ın geçerli olup olmadığını anlayabilir.


JWT Yapısı

JWT, Başlık (Header), Faydalı Yük (Payload) ve İmza (Signature) olmak üzere üç bölümden oluşur.

Her bölüm Base64 ile kodlanır ve noktalar (.) ile ayrılır. 

Başlık

{
    "alg": "HS256",
    "typ": "JWT"

Başlık, iki ana bilgi içerir. Token türü (typ) ve kullanılan imza algoritması (alg). İmza algoritması, imzayı oluştururken ve doğrularken kullanılır.

typ "JWT" olarak belirtilir ve alg HMAC, SHA256 vb. olarak yazılır. Yukarıdaki örnekte, özel anahtar kullanarak HS256 algoritması kullanılıyor. 

Faydalı Yük

{
    "sub": "1234567890",
    "name": "John Doe",
    "iat": 1516239022


Faydalı yük, token'a iletilmek istenen İddiaları içerir. Kullanıcı kimlik bilgileri veya token'la ilgili özellikler anahtar-değer şeklinde saklanır. Yani, geliştirici istediği gibi ekleyebilir!

Standart özelliklerine göre, anahtarın adı kısaca 3 harfle tanımlanır.

Kayıtlı iddialar aşağıdaki gibidir. 

  • iss (Yayımcı) : Token'ı yayınlayan (token'ı yayınlayanın benzersiz kimlik bilgilerini içerir)
  • sub (Konu) : Token'ın hedeflediği varlık
  • aud (Hedef Kitle) : Token'ı alan
  • exp (Son Kullanım Tarihi) : Token'ın geçerlilik süresi (bu süreden sonra geçerliliğini yitirir)
  • nbf (Geçerli Olma Zamanı) : Token'ın etkinleşme tarihi (bu tarihten önce token kullanılamaz)
  • iat (Yayınlanma Zamanı) : Token'ın yayınlanma zamanı
  • jti (JWT Kimliği) : JWT token kimliği (yayımcı birden fazlaysa bunları ayırt etmek için bir değer)


Bu değerler dışında, ihtiyaç duyulan başka değerler varsa eklenerek kullanılabilir. 

Ancak faydalı yük, şifrelenmemiş imzalı bir değer olmadığı için hassas bilgileri içermez.

Kod çözülürse herkes tarafından görülebilir. jwt.io sitesinden de doğrudan kontrol edilebilir.

İmza

HMACSHA256(
    base64UrlEncode(header) + "." +
    base64UrlEncode(payload),
    your-256-bit-secret

Başlık ve Faydalı yükü base64 olarak kodlanan değerler, ayırıcı noktalar (.) ile birleştirilir ve sunucunun sahip olduğu your-256-bit-secret özel anahtarı kullanılarak imzalanır. 

Bu nedenle imza (İmza), yalnızca token'ı yayınlayan sunucunun özel anahtar kullanarak şifresini çözebilir.

Şifre çözme işlemini düşündüğümüzde, özel anahtar kullanarak İmza'nın şifresini çözüp ardından base64UrlEncode(header)'ın JWT'nin başlık değeriyle uyuşup uyuşmadığını ve base64UrlEncode(payload)'un uyuşup uyuşmadığını kontrol edebiliriz. 

İmzayı hariç tutan başlık ve faydalı yük, yalnızca kodlanmış oldukları için içeriğin bilgilerini gösterir, ancak imza, bilgilerin bütünlüğünü ve güvenliğini korur. 



JWT, gerekli tüm bilgileri kendi içinde bulunduran Self-contained'dir ve durumlu olması gereken oturumların dezavantajlarını gidermek için oluşturulmuş JWT, ayrı bir depolama alanı gerektirmez. 

Sunucu tarafında oturumları sürdürmeye gerek yoktur, bu nedenle durumsuz oldukları için dağıtık sistemlerde veya mikro hizmet mimarisinde ölçeklenebilirlik yüksektir. 

İmza, dijital imza ile korunur ve verilerin bütünlüğünü garanti eder.

nofunfromdev
Seize the day
Seize the day
nofunfromdev
Ücretli Ortak Sertifika Yerine, Ücretsiz Finansal Sertifika Kullanın! Ortak sertifikalar yerine ücretsiz olarak edinilebilen finansal sertifikaları tanıtıyoruz. 3 dakika içinde edinilebilir ve 3 yıl boyunca kullanılabilir, bu da kullanımı kolaylaştırır. Banka web sitelerinden başvuru yapılabilir ve vergi dairesi, sosyal güv
길리
길리
길리
길리
길리

17 Nisan 2024

Java Collections Framework (JCF) nedir? - JCF'nin tanımı ve özellikleri (JAVA) Java Collections Framework (JCF), birden fazla veriyi verimli bir şekilde işlemek için standartlaştırılmış bir yöntem sağlayan bir Java sınıf koleksiyonudur. JCF, veri depolama yapıları ve algoritmaları sınıflar halinde uygulayarak kod tekrar kullanılabil
제이온
제이온
제이온
제이온

27 Nisan 2024

Worldcoin'in İris Taraması Gerçekten Güvenli mi? Worldcoin, iris taramasıyla coin dağıtıyor ancak kişisel veri ticareti tartışmaları, veri kullanımının şeffaf olmaması, yurt dışı sunucuya transfer riski gibi birçok sorun gündeme getiriliyor. Uzmanlar, kişisel verilerin korunması açısından dikkatli bir y
세상 모든 정보
세상 모든 정보
세상 모든 정보
세상 모든 정보

31 Mart 2024

[Java] Yansıma Kavramı ve Kullanım Şekli Yansıma, Java programları çalışırken sınıf bilgilerine erişerek sınıfları manipüle etmeyi sağlayan bir API'dir. Çalışma zamanında sınıflar oluşturulmasını ve alanlara ve yöntemlere erişmeyi sağlar, ancak kapsüllemeyi ihlal edebilir ve performans düşüşüne
제이온
제이온
제이온
제이온

25 Nisan 2024

Kavramsal Veri Modellemesi Kavramsal veri modelleme, varlıkları ayırma ve varlıklar arasındaki ilişkileri ERD ile gösterme sürecidir. Varlıklar bağımsız bilgi birimleridir ve öznitelikler, varlığın sahip olduğu verilerdir. Tanımlayıcılar, varlıkları benzersiz bir şekilde tanımlar v
제이의 블로그
제이의 블로그
제이의 블로그
제이의 블로그

8 Nisan 2024

[Javascript] Nesne Yapısı (V8) JavaScript'teki Nesne, V8 motorunda durumuna göre yapı gibi optimize edilmiş Hızlı mod ve karma tablo olarak çalışan Sözlük moduna dönüştürülür. Hızlı mod, anahtar ve değerlerin neredeyse sabit olduğu bir biçimde hızlıdır ancak yeni bir anahtar eklendiğin
곽경직
곽경직
곽경직
곽경직
곽경직

18 Mart 2024