localstorage/session, хранить можно что угодно что бы spa понимало. Но брать эти данные для логики приложения все таки не стоит.
Так же можешь при каждом обновлении из первой точки входа vue.js 2, слать запрос на сервер и получать ответ есть сесия или нет, и писать в сервис или куда там пишут в vue.js. Так можно делать при смени каждой страницы это довольно безопасно но и затратно одновременно.
В любом случаи на сервере на всех закрытых api должна быть проверка на уровень доступа и сессию.
Сервер никогда не должен доверять клиентской части.