Saya ingin menerapkan otentikasi berbasis JWT ke API REST baru kami. Tetapi karena kedaluwarsa diatur dalam token, apakah mungkin untuk memperpanjangnya secara otomatis? Saya tidak ingin pengguna harus masuk setelah setiap X menit jika mereka aktif menggunakan aplikasi pada periode itu. Itu akan menjadi kegagalan besar UX.
Namun, memperpanjang masa berlaku menciptakan token baru (dan yang lama masih berlaku sampai habis). Dan menghasilkan token baru setelah setiap permintaan terdengar konyol bagi saya. Kedengarannya seperti masalah keamanan ketika lebih dari satu token valid pada saat yang sama. Tentu saja saya bisa membatalkan yang lama menggunakan daftar hitam tapi saya harus menyimpan token. Dan salah satu manfaat JWT adalah tidak ada penyimpanan.
Saya menemukan bagaimana Auth0 menyelesaikannya. Mereka tidak hanya menggunakan token JWT tetapi juga token penyegaran: https://docs.auth0.com/refresh-token
Tetapi sekali lagi, untuk mengimplementasikan ini (tanpa Auth0) saya harus menyimpan token penyegaran dan mempertahankan kedaluwarsa mereka. Apa manfaat sebenarnya? Mengapa tidak hanya memiliki satu token (bukan JWT) dan menyimpan masa berlaku di server?
Apakah ada opsi lain? Apakah menggunakan JWT tidak cocok untuk skenario ini?