Access Token ve Refresh Token Nedir? Modern Kimlik Doğrulama Rehberi

Modern API tabanlı uygulamalarda kullanıcı kimlik doğrulama süreçlerinde token kullanımı, güvenlik ve ölçeklenebilirlik açısından kritik öneme sahiptir. Bu yazıda access token, refresh token ve token ile kimlik doğrulama akışını detaylıca ele alıyoruz.

İlgili: JWT (JSON Web Token) Nedir? Nginx ile HTTPS Nasıl Yapılır?

1. Token Nedir ve Neden Kullanılır?

Token, kullanıcı adı ve şifreyi her istekte taşımadan kimlik doğrulama ve yetkilendirme işlemlerini yapan dijital bir anahtardır. Modern sistemlerde access ve refresh token gibi türlerle güvenli API erişimi sağlanır.

2. Token Türleri: Access Token ve Refresh Token

2.1 Access Token Nedir?

Access token kısa ömürlüdür (genellikle 15–30 dakika). API çağrılarında gönderilir ve süresi dolunca geçersiz olur. Çoğu sistemde access token JWT formatındadır.

2.2 Refresh Token Nedir?

Refresh token daha uzun ömürlüdür ve access token süresi dolduğunda yeni access token almak için kullanılır. Güvenli saklanmalı ve mümkünse refresh token rotation uygulanmalıdır.

2.3 Diğer Token Türleri

  • ID Token (OpenID Connect)
  • CSRF Token (form/session güvenliği)
  • API Token (basit entegrasyon senaryoları)

3. Access ve Refresh Token Akışı Nasıl Çalışır?

  1. Kullanıcı giriş yapar.
  2. Sunucu access token ve refresh token üretir.
  3. API çağrıları access token ile yapılır.
  4. Access token süresi dolunca refresh token ile yeni access token alınır.
  5. Güvenlik için refresh token rotation uygulanır (eski token iptal edilir).

4. Token ile Kimlik Doğrulamada Güvenlik Best Practices

  • Access token süresi kısa tutulmalı (15–30 dakika).
  • Refresh token rotation ile replay saldırıları azaltılmalı.
  • Token saklama:
    • Web: HttpOnly cookie
    • Mobil: Keychain / Keystore
  • Ek güvenlik: HTTPS/TLS, rate limiting, blacklist/revocation, PKCE.

5. Gerçek Dünya Uygulamaları ve Platformlar

Spring Boot, .NET Core ve Node.js gibi platformlarda token tabanlı kimlik doğrulama yaygındır. Özellikle JWT formatında access token ve rotation mantığı modern güvenlik standartlarının temelidir.

İlgili: Spring Boot ile RESTful Web Servisi Geliştirme

6. Avantajlar ve Riskler

Avantajlar

  • Stateless ve hızlı kimlik doğrulama
  • Kısa ömürlü access token ile daha yüksek güvenlik
  • Refresh token ile kesintisiz kullanıcı deneyimi

Riskler

  • Refresh token çalınırsa (rotation yoksa) ciddi risk oluşturur.
  • Yanlış saklama (localStorage) XSS riskini artırır.
  • Blacklist/rotation ek mimari karmaşıklık getirir.

7. Sıkça Sorulan Sorular

Access token süresi ne kadar olmalı?

Genellikle 15–30 dakika arası önerilir.

Refresh token rotation neden önemli?

Her kullanımda yeni refresh token üretip eskisini iptal ederek replay saldırılarını azaltır.

Refresh token çalınırsa ne olur?

Rotation ve revocation/blacklist ile hızlıca iptal edilerek risk düşürülür.

Sonuç

Token nedir, access token ve refresh token nasıl çalışır gibi soruların yanıtlarını gördük. Güvenli saklama ve modern best practices ile API güvenliğinizi ciddi ölçüde artırabilirsiniz.

Beğendiysen bir çay ısmarlayabilirsin ☕

Bana çay ısmarla

Spring Boot ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *