с серверным рендерингом (без нукст, чисто своя сборка сср по доке). 
                  
                  
                  Бэкенд - рест апи на ноде с авторизацией через oauth2. 
                  
                  
                  Клиентские токены (access и refresh) я храню в локалсторадже. 
                  
                  
                  Предположим, у меня есть некий закрытый роут, скажем /cabinet.
                  
                  
                  Так вот. 
                  
                  
                  Когда у меня юзер обращается к этому роуту (я имею в виде не переход на клиенте, где уже работает спа а например набор в адресной строке или переход по ссылке из закладок). На рендер-сервер приходит запрос. Т.к. токен в локалсторадже (в куках ничего нет) я никаким образом не могу из этого запроса узнать авторизован юзер или нет. Как мне лучше всего в данном случае закрыть непубличные роуты? 
                  
                  
                  В случае спа без серверного рендеринга я использую для этой цели хуки роутера, но здесь, очевидно так сделать не могу, т.к. на момент запроса на рендер-сервер на сервере я не знаю авторизован ли юзер (т.к. браузер не пошшлет мне токен из локалстораджа сам). 
                  
                  
                  У меня два варианта: 
                  
                  
                  1) дублировать токен в куках. Соответственно, в этом случае барузере отправит в заголовках access токен и я смогу использовать хуки роутера 
                  
                  
                  2) рендерить на сервере пустую верстку для закрытых роутов, а уже на клиенте, скажем в beforeMounted чекать токен из локалстораджа и редиректить ежели что не так. 
                  
                  
                  Оба варианта кажутся мне так себе. Возможно, есть решение лучше но я пока не могу сообразить
                  
                  
                
Почему не отправлять токен в запросе?
Обсуждают сегодня