| Termin | Definicja |
|---|---|
| token w linku do aktywacji | Token w linku do aktywacji powinien mieć ograniczony czas ważności, by uniemożliwić jego późniejsze nadużycie. Rola tokenu w linku aktywacyjnymToken w linku do aktywacji jest ciągiem znaków przekazywanym w adresie URL, który pozwala serwisowi rozpoznać konkretną operację rozpoczętą wcześniej, na przykład potwierdzenie utworzenia konta, zmianę adresu poczty elektronicznej albo aktywację dostępu do aplikacji. Zamiast przesyłać w odnośniku hasło użytkownika, system umieszcza w nim losową wartość powiązaną po stronie serwera z określonym kontem, rodzajem operacji i stanem aktywacji. Po otwarciu odnośnika aplikacja odczytuje token, sprawdza jego poprawność oraz podejmuje decyzję, czy wolno wykonać żądaną czynność. Token nie powinien być traktowany jako zwykły identyfikator widoczny w bazie danych. Jeżeli jego posiadanie wystarcza do aktywacji konta, pełni funkcję poświadczenia typu bearer: osoba lub program, który go zdobędzie, może spróbować użyć go bez znajomości dodatkowego hasła. Z tego powodu token powinien być wygenerowany z użyciem kryptograficznie bezpiecznego generatora liczb losowych, odpowiednio długi i przypisany tylko do jednego celu. Nie należy budować go z przewidywalnych danych, takich jak identyfikator użytkownika, data utworzenia konta czy kolejny numer rekordu. Czas ważności i jednorazowe użycieOgraniczony czas ważności zmniejsza ryzyko wykorzystania linku po jego przechwyceniu lub przypadkowym ujawnieniu. W rekordzie tokenu można przechowywać moment utworzenia oraz termin wygaśnięcia, a podczas żądania porównywać go z aktualnym czasem serwera. Po przekroczeniu terminu aplikacja powinna odmówić aktywacji i wymagać wygenerowania nowego odnośnika. Czas należy mierzyć po stronie serwera, ponieważ zegar na laptopie lub komputerze użytkownika może być ustawiony nieprawidłowo i nie powinien decydować o ważności operacji. W przypadku aktywacji konta token powinien być również jednorazowy. Po pomyślnym użyciu rekord można oznaczyć jako wykorzystany albo unieważnić go w taki sposób, aby następne żądanie nie mogło ponownie wykonać tej samej operacji. Istotne jest rozróżnienie między tokenem wygasłym, wykorzystanym, nieistniejącym i przypisanym do innego celu. Z punktu widzenia użytkownika wszystkie te sytuacje mogą zakończyć się komunikatem o konieczności poproszenia o nowy link, ale w logach aplikacji powinny pozostać rozpoznawalne, aby ułatwić analizę nieudanych prób. Walidacja odnośnika bez ujawniania danychObsługa tokenu powinna obejmować sprawdzenie jego formatu, istnienia, przeznaczenia, terminu ważności i statusu wykorzystania. Jeżeli token został wydany do aktywacji konta, nie powinien działać przy operacji resetowania hasła ani przy innym endpointcie. Warto przechowywać w bazie skrót tokenu zamiast jego pełnej wartości. Wtedy przejęcie samego rekordu bazy nie ujawnia bezpośrednio działającego odnośnika, a aplikacja może porównać skrót wartości otrzymanej w żądaniu ze skrótem zapisanym wcześniej. Link powinien być przesyłany przez HTTPS, aby ograniczyć możliwość odczytania go podczas komunikacji. Sama obecność HTTPS nie rozwiązuje jednak problemu ujawnienia tokenu w historii przeglądarki, kopiach zapasowych, narzędziach analitycznych, nagłówku Referer lub logach serwera. Po odczytaniu tokenu aplikacja może przekierować użytkownika na adres niezawierający sekretu i usunąć wartość z dalszego obiegu. Należy też unikać zapisywania pełnych adresów aktywacyjnych w komunikatach diagnostycznych. Log może zawierać typ operacji, identyfikator techniczny i wynik walidacji, ale nie powinien ujawniać działającego tokenu. Sprawdzenie problemu z aktywacją w komputerzeJeżeli link aktywacyjny nie działa na laptopie lub komputerze PC, pierwszym krokiem jest ustalenie, czy problem dotyczy tokenu, adresu internetowego, przeglądarki czy samej aplikacji. Warto otworzyć wiadomość bez ręcznego przepisywania odnośnika, sprawdzić, czy adres nie został złamany na kilka linii, oraz zweryfikować, czy nie użyto starszej wiadomości po wygenerowaniu kolejnego linku. Pomocne może być także sprawdzenie działania w aktualnej przeglądarce i w prywatnym oknie, bez rozszerzeń modyfikujących strony lub przekierowania. Komunikat o wygaśnięciu oznacza zwykle, że serwer odrzucił token na podstawie czasu lub statusu. Błąd połączenia wskazuje raczej na DNS, sieć lokalną, konfigurację proxy albo niedostępność usługi, natomiast odpowiedź HTTP 400 lub 401 może wynikać z nieprawidłowej wartości albo braku autoryzacji operacji. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów i komputerów PC, w tym diagnostykę problemów z oprogramowaniem, przeglądarką oraz połączeniem potrzebnym do prawidłowego otwarcia linku aktywacyjnego. |