на логин он достанет допустим этот токен из куков, тут по коду понятно, но потом при новом открытии приложения того же requestа нет же, ну логина, тогда как он снова обращается к кукам для получения токена
В handle() выгребает куку из запроса на сервер и кладёт ее в request.locals.user В getSession() - возвращает дезинфицированного user из locals.user (что и есть сессия здесь)
Кука положенная в браузер постоянно летает с запросами (по правилам канеш). И handle() на сервере прост ее оттуда ловит. А getSession() передаёт на клиента.
Я б лучше - в куках держал только userid шифрованный из базы. И по нему получал бы нужные креды. Тоесть почти так, но user живет на бэке. А ещё кашернее sessionID - а в нем уже userID, а в нем кощеева смерть 😁