C# ASP.NET Core JWT Authentication Rehberi: Güvenli Kimlik Doğrulama ve Yetkilendirme
Yazılım / Kodlama

C# ASP.NET Core JWT Authentication Rehberi: Güvenli Kimlik Doğrulama ve Yetkilendirme

Eklenme Tarihi: 11 Temmuz 2026 Güncelleme: 11 Temmuz 2026 İrfan Acar 0 Yorum
Yükleniyor...
C# ASP.NET Core JWT Authentication Rehberi: Güvenli Kimlik Doğrulama ve Yetkilendirme

JWT (JSON Web Token) Nedir?

Modern web uygulamalarında kullanıcıların güvenli bir şekilde kimlik doğrulaması yapabilmesi oldukça önemlidir. Geleneksel Session tabanlı yapılara alternatif olarak geliştirilen JWT (JSON Web Token), stateless yapısı sayesinde özellikle REST API projelerinde en çok tercih edilen authentication yöntemlerinden biridir.


JWT, kullanıcı giriş yaptıktan sonra sunucu tarafından oluşturulan ve kullanıcının kimliğini doğrulayan dijital bir tokendır. Bu token istemci tarafında saklanır ve her istekte sunucuya gönderilerek kullanıcının yeniden giriş yapmasına gerek kalmadan doğrulama işlemi gerçekleştirilir.


Neden JWT Kullanılır?


  1. Stateless yapı sunar.
  2. Sunucu tarafında Session tutulmaz.
  3. Performansı yüksektir.
  4. REST API mimarileriyle uyumludur.
  5. Mobil uygulamalar için idealdir.
  6. Microservice mimarilerinde kolayca kullanılabilir.
  7. Ölçeklenebilir sistemler oluşturmayı kolaylaştırır.



JWT Nasıl Çalışır?

JWT Authentication süreci aşağıdaki adımlardan oluşur:

  1. Kullanıcı giriş yapar.
  2. Sunucu kullanıcı bilgilerini doğrular.
  3. JWT oluşturulur.
  4. Token kullanıcıya gönderilir.
  5. Kullanıcı her istekte token'ı gönderir.
  6. Sunucu token'ı doğrular.
  7. Doğrulama başarılıysa istek işlenir.

Bu yapı sayesinde sunucunun kullanıcı oturumu tutmasına gerek kalmaz.


Cookie ile JWT Kullanımı

JWT yalnızca LocalStorage'da saklanmak zorunda değildir.

Daha güvenli bir yöntem olarak;

  1. HttpOnly Cookie
  2. Secure Cookie
  3. SameSite

özellikleri kullanılarak Cookie içerisinde saklanabilir.

Avantajları:

  1. JavaScript erişemez.
  2. XSS saldırıları büyük ölçüde engellenir.
  3. Tarayıcı otomatik gönderir.
  4. Güvenliği daha yüksektir.


Güvenlik İçin Dikkat Edilmesi Gerekenler

JWT kullanırken aşağıdaki kurallara dikkat edilmelidir:

  1. HTTPS kullanılmalıdır.
  2. Secret Key güçlü olmalıdır.
  3. Access Token kısa süreli olmalıdır.
  4. Refresh Token uzun süreli olmalıdır.
  5. Refresh Token veritabanında hash'lenerek saklanmalıdır.
  6. Cookie HttpOnly olmalıdır.
  7. Cookie Secure olmalıdır.
  8. SameSite doğru ayarlanmalıdır.
  9. Token içerisine hassas bilgiler yazılmamalıdır.
  10. Token iptal mekanizması bulunmalıdır.


JWT Kullanırken Yapılan Yaygın Hatalar

En sık karşılaşılan hatalar şunlardır:


LocalStorage kullanmak

XSS saldırılarına açık hale getirir.


Çok uzun süreli Access Token oluşturmak

Ele geçirilen token uzun süre kullanılabilir.


Secret Key'i projeye yazmak

Secret Key, ortam değişkenlerinde veya güvenli yapılandırma servislerinde saklanmalıdır.


Refresh Token kullanmamak

Kullanıcı deneyimini olumsuz etkiler.


Token içerisine şifre yazmak

JWT hiçbir zaman şifre saklamak için kullanılmamalıdır.


Sonuç

JWT, modern ASP.NET Core uygulamalarında güvenli ve ölçeklenebilir kimlik doğrulama sağlayan güçlü bir çözümdür. Stateless yapısı sayesinde performans avantajı sunarken, doğru yapılandırıldığında yüksek güvenlik standartlarını da karşılar. Özellikle Access Token ve Refresh Token mimarisi, hem kullanıcı deneyimini iyileştirir hem de güvenliği artırır. Bununla birlikte, güçlü bir Secret Key kullanmak, HTTPS zorunluluğu, kısa ömürlü Access Token'lar ve HttpOnly Cookie gibi güvenlik önlemleri ihmal edilmemelidir. Doğru tasarlanmış bir JWT altyapısı, API tabanlı uygulamalar için uzun vadede sürdürülebilir ve güvenilir bir kimlik doğrulama çözümü sunar.

Yazar

Blog Yazarı

İrfan Acar

Yorumlar

0
Henüz kimse yorum yapmamış, ilk izlenimini sen bırak.