Yeni REST API'mıza JWT tabanlı kimlik doğrulaması uygulamak istiyorum. Ancak son kullanma süresi belirteçte ayarlandığından, otomatik olarak uzatmak mümkün mü? Kullanıcıların uygulamayı o dönemde etkin bir şekilde kullanıyorlarsa her X dakikada bir oturum açmasını istemiyorum. Bu büyük bir UX başarısızlığı olurdu.
Ancak sona erme süresini uzatmak yeni bir jeton oluşturur (ve eskisi sona erene kadar hala geçerlidir). Ve her istekten sonra yeni bir jeton oluşturmak bana aptalca geliyor. Aynı anda birden fazla jeton geçerli olduğunda güvenlik sorunu gibi görünür. Tabii ki eski kullanılmış olanı bir kara liste kullanarak geçersiz kılabilirim ama simgeleri saklamam gerekirdi. Ve JWT'nin avantajlarından biri de depolama değildir.
Auth0'ın bunu nasıl çözdüğünü buldum. Sadece JWT jetonunu değil, aynı zamanda bir yenileme jetonunu da kullanırlar: https://docs.auth0.com/refresh-token
Ama yine de, bunu uygulamak için (Auth0 olmadan) yenileme jetonlarını saklamam ve sürelerini muhafaza etmem gerekir. O zaman gerçek fayda nedir? Neden yalnızca bir jeton (JWT değil) ve son kullanma tarihini sunucuda tutmuyorsunuz?
Başka seçenekler var mı? JWT kullanımı bu senaryo için uygun değil mi?