Salı, 22 Eylül 2026

Erişim Tokenı ile Yenileme Tokenı Nasıl Çalışır?

7 dk okuma 0 yorum

İki farklı kimlik doğrulama mekanizması, modern web uygulamalarının güvenliğini temel taşlarından biri haline getirmiştir. Kullanıcıların oturumlarını korurken, sistemin yetkilendirme sürecini de basitleştirir. Erişim tokenı, kullanıcının kimliğini kanıtlamak için geçici bir imza taşıyıp, belirli bir süre içinde API çağrılarını doğrulamak için kullanılır. Ancak bu token zamanla geçerlilik süresini kaybeder; işte bu noktada yenileme tokenı devreye girer. Yenileme tokenı, uzun ömürlü bir izn olarak işlev görür ve yeni bir erişim tokenı almak için tek başına yetkilendirir.

Erişim ve yenileme tokenları arasındaki fark, kullanım süresi ve güvenlik katmanları açısından kritik bir ayrım oluşturur. Erişim tokenı, genellikle birkaç dakika ila saat süresine sahiptir; bu, saldırganların elde ettiği bir tokenın hayati bir süre içinde süresini aşması durumunda riskin düşürülmesini sağlar. Yenileme tokenı ise genellikle birkaç gün ya da hafta kadar uzun bir süre için geçerlidir. Böylece, kullanıcı sürekli olarak yeniden kimlik doğrulaması yapmak zorunda kalmaz.

Bir web geliştiricisinin karşılaştığı en sık sorulardan biri, “Erişim tokenı ile yenileme tokenı aynı anda nasıl çalışır?” sorusudur. Cevabı, tokenların birlikte nasıl bir döngü oluşturduğu ve bu döngünün güvenliği nasıl sağladığına odaklanarak bulmak mümkündür.

Temel Kavramlar ve Tanımlar

Erişim tokenı, OAuth 2.0 protokolü kapsamında kullanılan JSON Web Token (JWT) veya benzeri bir biçimde sunulan bir yetkilendirme aracıdır. Kullanıcı adı ve şifre gibi kimlik bilgileri doğrulandığında, sunucu bir erişim tokenı üretir ve bu token, API isteklerinin başlığına eklenerek gönderilir.

Yenileme tokenı ise erişim tokenının ömrünü uzatmak için kullanılan, ancak kendisi de sınırlı bir sürede geçerliliğini kaybeder. Çoğu uygulama, yenileme tokenını veritabanında saklar ve sadece yetkili istemciler bu tokenı kullanarak yeni erişim tokenı talep edebilir.

Her iki token da, sistemin “stateless” (durumsuz) kalmasını sağlar; sunucu tarafında oturum bilgilerini saklamak yerine, tokenlar içinde gerekli bilgileri barındırır. Bu yaklaşım, ölçeklenebilirlik ve performans açısından büyük avantajlar sunar.

Erişim Tokenının Ömrü ve Yenileme Süreci

Erişim tokenı, genellikle 15 dakika ile 1 saat arasında bir ömre sahiptir. Bu süre, güvenlik risklerini minimize ederken, kullanıcı deneyimini olumsuz etkilememek için yeterli bir süre olarak kabul edilir.

Yenileme süreci, bir istemci tarafı uygulamasının, erişim tokenı süresi dolduğunda, yenileme tokenını kullanarak yeni bir erişim tokenı talep etmesini içerir. Bu işlem, genellikle “/token/refresh” gibi bir API uç noktasına POST isteği gönderilerek gerçekleştirilir.

Çok sayıda isteğin aynı anda yapılması durumunda, token yenileme mekanizması, “rate limiting” (oran sınırlaması) ve “leaky bucket” (sızıntı kovası) gibi stratejilerle kontrol altına alınır.

Güvenlik Açısından Yenileme Tokenının Rolü

Yenileme tokenı, uzun ömürlü olması nedeniyle, eğer bir saldırgan tarafından ele geçirilirse, sistemin büyük bir kısmına erişim sağlayabilir. Bu nedenle, yenileme tokenları genellikle çok güvenli bir şifreleme ile saklanır ve HTTPS üzerinden iletilir.

Ayrıca, tokenın iptal edilmesi (revocation) mekanizması, erişim tokenı ile aynı anda uygulanır. Bir kullanıcı oturumu kapattığında veya bir güvenlik ihlali tespit edildiğinde, yenileme tokenı hemen geçersiz kılınır, böylece daha fazla yetkisiz erişim engellenir.

En Yaygın Hatalar ve Önlemler

1. Yetersiz süre belirlemesi: Erişim tokenı ömrü çok uzun tutulursa, eğer token ele geçirilirse büyük bir risk oluşur.
2. Yenileme tokenı saklanması: Yenileme tokenını istemci tarafında (örneğin localStorage) saklamak, XSS saldırılarına açık hale getirir.
3. Rate limiting’in ihmal edilmesi: Çok sayıda token yenileme isteği, sunucuyu aşırı yükleyebilir.
4. Token türlerinin karıştırılması: Yanlışlıkla erişim tokenı yerine yenileme tokenı gönderilmesi, isteklerin reddedilmesine yol açar.
5. İptal mekanizmasının eksikliği: Kullanıcı oturumu kapattığında yenileme tokenının geçerliliğini sürdürmesi, güvenlik açığı yaratır.

Pratik Uygulama Örneği

Bir e-ticaret sitesinde, kullanıcı bir ürün sepetine ekledikten sonra, ödeme sayfasına yönlendirildiğinde, yetkilendirme süreci için bir erişim tokenı kullanılır. Bu token, ödeme API’sine gönderilen isteklerde başlıkta yer alır.

Ödeme süreci sırasında, erişim tokenı süresi dolarsa, istemci tarafı otomatik olarak yenileme tokenını kullanarak yeni bir erişim tokenı alır. Bu yeni token, ödeme işleminin tamamlanması için gereklidir.

Bu döngü, kullanıcı deneyimini kesintisiz tutarken, sistemin güvenliğini de sağlamaktadır.

Uzman Önerileri ve İpuçları

1. Erişim tokenı ömrünü 15 dakika ile sınırlayın.
2. Yenileme tokenını sunucu tarafında, şifreli bir şekilde saklayın.
3. Token yenileme isteği sırasında HTTPS zorunlu kılın.
4. Rate limiting uygulayarak token yenileme isteğini 1 dakikada 5 kezle sınırlayın.
5. JWT kullanıyorsanız, imza algoritmasını HS256 yerine RS256’e yükseltin.
6. Token iptalini, kullanıcı oturumu kapatıldığında zorunlu kılın.
7. İki faktörlü kimlik doğrulama (2FA) ile ek bir güvenlik katmanı ekleyin.
8. Tokenların kullanımını loglayarak şüpheli aktiviteleri izleyin.
9. Tokenların süresini belirlerken, uygulamanın kullanım senaryolarını dikkate alın.
10. Yenileme tokenını, sadece güvenli ve yetkili istemcilerle paylaşın.

Sıkça Sorulan Sorular

Yenileme tokenı ve erişim tokenı aynı anda kullanılabilir mi?

Evet, aynı anda kullanılabilir ancak genellikle erişim tokenı geçerli olduğu sürece yenileme tokenı kullanılmaz.

Yenileme tokenı ne zaman geçersiz olur?

Yenileme tokenı, sunucu tarafında belirlenen süre dolduğunda veya kullanıcı oturumu kapatıldığında geçersiz olur.

Tokenlar nasıl saklanır?

Erişim tokenı genellikle istemci tarafında RAM veya güvenli cookie’lerde saklanır; yenileme tokenı ise sunucu tarafında şifreli veritabanında tutulur.

Token iptali nasıl yapılır?

Sunucu tarafında token veritabanında ilgili satırın “revoked” (iptal) flag’i işaretlenir ve sonraki isteklerde kontrol edilir.

Token süresi dolduğunda ne olur?

Erişim tokenı süresi dolduğunda, istemci yenileme tokenını kullanarak yeni bir erişim tokenı alır.

Sonuç

Erişim tokenı ile yenileme tokenı, modern web uygulamalarının güvenliğini ve kullanıcı deneyimini dengeleyen iki kritik bileşendir. Doğru yapılandırılmış bir token yönetimi, hem sisteminizi güvenlik açıklarından korur hem de kullanıcıların kesintisiz bir deneyim yaşamasını sağlar. Uygun süre belirleme, güvenli saklama ve iptal mekanizmaları, başarılı bir token stratejisinin temel taşlarıdır.

Sibel Demir

Sibel Demir, Medya Takibi haber merkezinde muhabir olarak görev yapıyor. Türkiye ve dünya gündemindeki son dakika gelişmelerini takip ediyor; sahadan ve resmi kaynaklardan doğruladığı bilgileri okurlara aktarıyor. Bugüne kadar 345 haber hazırladı.

Sibel Demir yazarının 345 haberi →

Yorum Yap