Günümüzde web uygulamalarında veri güvenliğini sağlayabilmek için kullanıcı doğrulama yönlemleri arasında token bazlı kimlik doğrulama yöntemide vardır.Token (Belirteç/Jeton), tek kullanımlık yaşam süresi olan hashlenmiş yada şifrelenmiş bir bilgi içeren metinlerdir.Token bazlı yetkilendirme olayında üretilecek tokenler access token ve refresh token olarak ikiye ayrılır.
Access Token (Erişim Belirteci): Bir kaynağa ulaşmak için verilmiş belirteçtir. Tıpkı bir API anahtarı gibi gönderilebilen, uygulamaya erişim sağlayan tokendır. Genellikler kullanıcı identifier’ı (tanımlayıcısı) ve opsiyonel olarak expire (son kullanım tarihi) vardır.Exp(Expire), token’ın yaşam süresini belirtir. Uygulama, erişim belirtecinin süresinin dolduğunu algıladığında uygulama, yeni bir erişim belirteci elde etmek için Refresh Token kullanır.
Refresh Token (Yenileme Belirteci): Üretilen token değerinin süresi bitmeden ya da bittiğinde kullanıcıyı yeniden login işlemleriyle meşgul etmeden gerekli yetkilendirmeyi tekrar sağlayabilmek için refresh token mekanizmasını kullanılır.
Client öncelikle gerekli authorization için Authorization Server’a bir istekte bulunur ve bu istek neticesinde “Access Token” ile birlikte “Refresh Token” değerlerini elde edilir. Süreçte Resource Server’a yapılan tüm istekler, access token’ın süresi bitip geçersiz oluncaya kadar access token aracılığıyla gerçekleştirilir. Access token geçersiz olduğu durumda kullanıcıyı tekrardan login sayfasına yönlendirerek kullanıcı adı ve şifre kontrolü yapmak yerine kullanıcıya önceden gönderilmiş olan refresh token değeri ile Authorization Server’a bir istekte daha bulunulur ve tekrar yeni bir access token üretilerek hiç vakit kaybetmeksizin kullanıcıya bu yeni token değeri ile kaldığı yerden devam etme olanağı tanınır. Tabi bu arada refresh token kullanıldıktan sonra geçerliliğini yitirerek üretilen access token değerine eşlik edebilecek yenisi üretilmiş oluyor.