Wpis z mikrobloga

Pytanie odnośnie routingu w SPA. Logując się do aplikacji zapisuje sobie użytkownika, np. w local storage. W Vue istnieje możliwość dodania czegoś na wzór middleware do routera i chcę tam sprawdzać czy użytkownik jest zalogowany lub ma odpowiednie uprawnienia (pewnie Angularze i React jest coś podobnego).
1. Czy jeżeli chcę mieć pewność, że użytkownik jest zalogowany to przy każdej zmianie routa na froncie powinienem odpytywać API czy wystarczy porównywać czy user w aplikacji nie jest np. nullem.
2. Tak samo gdy chcę sprawdzić czy użytkownik ma uprawnienia do zasobów, np. chce wyświetlić szczegóły na temat produktu to powinienem przy zmianie routa odpytywać odpowiedni endpoint w API?

#naukaprogramowania #programowanie #javascript #vuejs #react #angular
  • 3
  • Odpowiedz
1. wystarczy, że sprawdzisz, czy w przegladarce zapisany jest jwt-token i czy przypadkiem nie wygasł. Jesli dostaniesz 401 na jakis zasób, poprostu przekieruj na logowanie
2. jw, sprawdzasz jaki statuscode dostaniesz z API
  • Odpowiedz
@bananowy_szejk: w Angular robisz to poprzez guardy. Poszukaj pod tych haslem, Vue router guards. W takim guardzie mozesz sprawdzic czy uzytkownik jest zalogowany, niech Twoj AuthService wystawia Ci metodę isLoggedIn
  • Odpowiedz