Witam, piszę frontend do mojego API. Używam systemu sesji, więc po stronie klienta nie są przechowywane żadne tokeny. Aplikacja ma trzy główne stany:
- user - zalogowano
- guest - nie zalogowano
- loading - nie wiadomo ( odświeżono stronę lub załadowano po raz pierwszy )
Po załadowaniu aplikacji po raz pierwszy (lub po jej odświeżeniu) wysyłany jest request do serwera, w celu załadowania profilu użytkownika.
W zależności od tego czy serwer zwróci 200 czy 401 zostanie ustawiony odpowiedni stan aplikacji. Dopiero teraz jest wiadome, czy istnieje konieczność przekierowania użytkownika czy nie (teraz wiemy jaki jest stan, user czy guest). W tym momencie chcę więc ponownie (z poziomu vuex'a) odświeżyć aktualny route, żeby route guard mógł zweryfikować czy nie ma ewentualnej potrzeby przekierowania.
Sprawa tyczy się więc ponownego uruchomienia funkcji middleware dla vue-router. I tu jest główny problem, nigdzie nie mogę znaleźć jak to rozwiązać. Jedyne co znalazłem to:
router.go()
ta metoda prowadzi jednak do przeładowania strony, a to kończy się nieskończoną pętlą (cały proces wykona się od początku). Jedyne czego chcę to ponownie przejść przez router.beforeEach().
Morduje się już z tym dość długo, będę więc bardzo wdzięczny za pomoc. Jak napisałem niejasno to proszę dać znać 