| Termin | Definicja |
|---|---|
| brak mechanizmu odświeżania tokenu | Brak mechanizmu odświeżania tokenu to usterka uwierzytelniania wymagająca ponownego pełnego logowania po wygaśnięciu sesji. Na czym polega brak odświeżania tokenuBrak mechanizmu odświeżania tokenu oznacza, że aplikacja potrafi uzyskać token uwierzytelniający, ale nie ma prawidłowo zaimplementowanego sposobu zastąpienia go nowym tokenem po upływie jego ważności. Token jest poświadczeniem przekazywanym zwykle przy żądaniach do serwera, na przykład w nagłówku HTTP W typowym rozwiązaniu opartym na OAuth 2.0 występuje token dostępu oraz, zależnie od konfiguracji, token odświeżający. Token dostępu jest używany do bieżących żądań i zwykle ma krótszy okres ważności. Token odświeżający służy do uzyskania kolejnego tokenu dostępu bez ponownego podawania danych logowania. Jeżeli aplikacja nie przechowuje tokenu odświeżającego, nie rozpoznaje momentu wygaśnięcia tokenu dostępu albo nie potrafi obsłużyć odpowiedzi serwera, użytkownik musi wykonać pełne logowanie. Objawy widoczne po wygaśnięciu sesjiNajczęstszym objawem jest nagłe przeniesienie do formularza logowania podczas pracy z aplikacją. Czasem pojawia się komunikat o nieprawidłowej sesji, brak dostępu do danych albo odpowiedź HTTP 401 Unauthorized. Interfejs może nadal wyglądać na zalogowany, ponieważ stan strony nie został odświeżony, ale kolejne żądania do serwera są odrzucane. W innych przypadkach aplikacja ponawia to samo żądanie bez zmiany tokenu, co prowadzi do zapętlenia, wielokrotnych komunikatów o błędzie lub ciągłego odświeżania widoku. Problem może wystąpić po dłuższej bezczynności, wznowieniu komputera ze stanu uśpienia, zmianie sieci albo pozostawieniu otwartej karty przeglądarki przez dłuższy czas. Znaczenie ma także rozbieżność zegara systemowego. Tokeny zawierają informacje czasowe, dlatego zbyt późny lub zbyt wczesny zegar może sprawić, że token zostanie uznany za wygasły przed rzeczywistym końcem sesji. Samo wyczyszczenie pamięci podręcznej przeglądarki może chwilowo usunąć objaw, ale nie naprawi błędnej logiki odświeżania po stronie aplikacji. Ścieżka obsługi tokenu w aplikacjiDiagnoza powinna obejmować cały przepływ: uzyskanie tokenu po logowaniu, zapisanie go w pamięci aplikacji, dołączenie do żądania, wykrycie odpowiedzi oznaczającej wygaśnięcie oraz próbę uzyskania nowego tokenu. Istotne jest sprawdzenie, czy aplikacja odczytuje pole czasu ważności i odświeża token z odpowiednim wyprzedzeniem, czy czeka dopiero na błąd serwera. Należy także ustalić, czy po udanym odświeżeniu pierwotne żądanie jest ponawiane tylko raz. Wielokrotne ponawianie bez zmiany danych uwierzytelniających może ukrywać właściwą przyczynę awarii. Ważnym elementem jest obsługa równoległych żądań. Gdy kilka operacji jednocześnie otrzyma informację o wygaśnięciu tokenu, aplikacja powinna skoordynować odświeżenie, aby nie wysyłać wielu konkurencyjnych żądań i nie nadpisywać poprawnego tokenu starszą wartością. Trzeba również sprawdzić reakcję na odrzucenie tokenu odświeżającego, jego unieważnienie oraz błąd połączenia z serwerem uwierzytelniania. W takich sytuacjach pełne logowanie może być prawidłowym końcem sesji, ale komunikat powinien jasno wskazywać przyczynę, a aplikacja nie powinna pozostawać w stanie pozornego zalogowania. Diagnostyka na laptopie i komputerze PCNa komputerze użytkownika można sprawdzić, czy problem występuje tylko w jednej przeglądarce, aplikacji lub profilu, czy także po uruchomieniu innego środowiska. Pomocne jest porównanie zachowania po ponownym logowaniu, po wznowieniu systemu oraz po wygaśnięciu sesji bez zamykania programu. W przypadku aplikacji webowej analizuje się kody odpowiedzi HTTP, kolejność żądań oraz komunikaty w konsoli przeglądarki, bez ujawniania samych wartości tokenów. W aplikacji instalowanej lokalnie sprawdza się jej logi, wersję, ustawienia czasu sesji i sposób zapisywania stanu logowania. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, dlatego może sprawdzić środowisko, w którym występuje problem z logowaniem: stan systemu, działanie przeglądarki, konfigurację aplikacji oraz powtarzalność błędu. Jeżeli przyczyną jest wyłącznie błąd po stronie usługi internetowej lub jej kodu, komputerowa diagnostyka może potwierdzić, że urządzenie poprawnie wykonuje żądania, a dalsza korekta wymaga zmiany aplikacji albo serwera uwierzytelniania. |