Przy braku zapisanego tokenu w local storage, aplikacja hostowana na GitHub Pages przełącza się w nieskończoność ze strony Logowania Nauczyciela do strony głównej. Na pewno jest błąd w przekierowaniu gdy użytkownik nie jest zautentykowany.
Ogónym problem z przekazywaniem tokenu przy zapytaniach do backend'u, gdy użytkownik ma już ważny token. Również problem z niespójnością w kodzie odnośnie sposobu fetchowania danych. Według mnie wartoby wprowadzić pomocniczą klase/funkcję, która wyznaczałaby prawidłowy sposób wysyłania zapytań do backend'u.
Warto również upewnić się, że poprawnie działa mechanizm odnawiania tokenów i unieważniania. Z moich obserwacji wynika, jakoby tokeny nie traciły ważności po upływie pewnego czasu. W kontekście naszej aplikacji, jest to coś dosyć ważnego, jeżeli chodzi o bezpieczeństwo dostępu do wrażliwych danych. Można się również upewnić, czy endpoint /logout istnieje (widziałem ostatnio zakomentowany kod w backendzie) i w ogóle coś robi (i czy coś powinien robić).
Podsumowanie:
Najważniejsze, żeby nie występowały problemy przy logowaniu. I żeby nie wysyłać niepotrzebnie zapytań o nowy token, gdy użytkownik posiada już ważny token. Token musi być zależny od permisji użytkownika (rodzic, nauczycie, itd.).
Opcjonalne: Wprowadzenie ujednolicenia sposobu wysyłania zapytań do backend'u, np. poprzez wprowadzanie pomocniczej funkcji. Zapewnienie, że token ma możliwość wygasnąć po pewnym upływie czasu (np. po 20 min nieaktywności użytkownika). Upewnić się, że logout działa poprawnie.
Aktualnie występujące problemy z tokenami:
Przy braku zapisanego tokenu w local storage, aplikacja hostowana na GitHub Pages przełącza się w nieskończoność ze strony Logowania Nauczyciela do strony głównej. Na pewno jest błąd w przekierowaniu gdy użytkownik nie jest zautentykowany.
Ogónym problem z przekazywaniem tokenu przy zapytaniach do backend'u, gdy użytkownik ma już ważny token. Również problem z niespójnością w kodzie odnośnie sposobu fetchowania danych. Według mnie wartoby wprowadzić pomocniczą klase/funkcję, która wyznaczałaby prawidłowy sposób wysyłania zapytań do backend'u. Warto również upewnić się, że poprawnie działa mechanizm odnawiania tokenów i unieważniania. Z moich obserwacji wynika, jakoby tokeny nie traciły ważności po upływie pewnego czasu. W kontekście naszej aplikacji, jest to coś dosyć ważnego, jeżeli chodzi o bezpieczeństwo dostępu do wrażliwych danych. Można się również upewnić, czy endpoint
/logout
istnieje (widziałem ostatnio zakomentowany kod w backendzie) i w ogóle coś robi (i czy coś powinien robić).Podsumowanie: