Потому что, если пользователь отойдет от компьютера на 3 часа, то ему снова придется залогиниться (ведь refresh-токен слетел через 15 минут). Неудобно? Неудобно. А если срок жизни refresh-токена будет месяц - то его выкинет из системы только через месяц.
tantumus21, а почему пользователя не выкидывает из системы каждые 15 минут, если и refresh и access токен приходят новые. Как отсчитывается время жизни refresh token, с какого момента ?
refresh token по логике тоже должен жить 15 минут, если он каждые 15 минут новый, нет ?
в общем, при входе в систему вы получаете 2 токена: access и refresh. Допустим, access выдается на 15 минут, а refresh на 1 месяц.
Теперь рассмотрим 2 ситуации.
Вы часто заходите на сайт и подолгу на нем сидите. Каждые 15 минут у вас обнуляется access-токен. Что происходит:
Через 15 минут после выдачи токенов сайт уже не увидит у вас access-токена (он истек и удалился). Но увидит refresh-токен, который выдан на целый месяц.
Так как у вас есть refresh-токен, то вы все еще в системе. И вам выдается новая пара токенов. Access, чтобы вы снова могли получать доступ к сайту. И новый refresh - для безопасности (это уже другая история). Новый refresh-токен заменит предыдущий и тоже будет действителен 1 месяц (или пока не обновится)
Вы заходите на сайт редко. Через 15 минут после выдачи токенов у вас обнулился access. Теперь
вы снова зашли на сайт через неделю. Access токена у вас уже давно нет. Но еще остался refresh-токен. Сайт посчитает, что вы еще в системе и выдаст вам новую пару токенов. Вы продолжаете пользоваться сайтом
вы зашли на сайт через полгода. Access-токена нет, и refresh-токен уже давно истек. Считается, что вы вышли из системы. Нужно логиниться заново