JWT Nedir ve Nasıl Kullanılır?

       Geliştirdiğimiz uygulamaları ve servisleri yayına aldığımızda aynı şekilde istenmeyen kişilere de erişim imkanı vermiş oluyoruz. Geliştirdiğimiz uygulamaları yetkisiz kişilerden korumak için çeşitli yöntemler tercih edilmektedir. Günümüzde JWT sık kullanılan yöntemlerden biri.

JWT Nedir?

       JWT kullanarak hem authentication(sistemimizden geçerli bir kimliği olan işlem) hem de authorization(yapmak istediği işleme yetkisi olan işlem) yönetimi yapabilirsiniz. JWT token yapı itibariyle aşağıdaki gibi görünür ve 3 parça olarak yorumlanır.

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5cte

-Header

       Header içerisinde token tipi ve şifreleme algoritması yer alır.

-Payload

       Payload içerisinde işlemi yapan kullanıcıya ait yetkilerle beraber, kendi işinize yarayacak bazı parametreleri de yerleştirebilirsiniz. Örneğin, login olan kullanıcının adını taşıyıp, işlemlerde her seferinde db'e gidip çekmek yerine gelen token içerisinden kullanabilirsiniz.

{
  "id": "123",
  "name": "Admin User",
  "admin": true
}

 

-Signature

       Bu kısımda ise header ve payload içerisinde yer alan verinin herhangi bir dış müdahaleyle değiştirilmiş mi onu kontrol edebileceğiniz kısımdır. Token'ı oluştururken kullanılan private key ile doğrulama yapabilirsiniz.

 

JWT Token Nasıl Kullanılır?

       Oluşturulan JWT token'ı yapılan HTTP isteğin Authorization header kısmına "Bearer" kelimesi ile beraber ekleriz. Bu sadece yapılan istek sunucuda karşılanıp header içerisinde gelen token, jwt private key'imiz ile açılıp gerekli kontrollerden geçirilip işlenmeye başlar.

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

 

 

 

 

Comments (2) -

  • Çok güzel ve anlaşılır makaleler yazıyorsunuz geç fark etmeme üzüldüm. Devamını bekliyorum Smile

Add comment