Używanie ciasteczek, by utrzymać użytkowników zalogowanych

Opublikowano 3. września 2024 przez Jan Bunk

Humanoidalny robot trzymający apetyczne ciastko z kawałkami czekolady, sztuka cyfrowa

Gdy użytkownicy pobierają Twoją aplikację, oczekują, że będzie łatwa w obsłudze i bez zbędnych przerw. Ważną częścią tego doświadczenia jest pozostawanie zalogowanym na swoje konto, zwłaszcza jeśli często korzystają z Twojej aplikacji. Jeśli zamienisz swoją stronę internetową w aplikację, aplikacja będzie się zachowywać głównie jak przeglądarka. Z tego powodu, aby użytkownicy pozostawali zalogowani, trzeba odpowiednio zadbać o zarządzanie sesją na Twojej stronie. W tym wpisie pokażemy, jak sprawić, by użytkownicy pozostawali zalogowani w Twojej aplikacji, poprawnie konfigurując ciasteczka sesyjne na stronie.

Dlaczego warto dbać o to, by użytkownicy pozostawali zalogowani

Im bardziej płynne doświadczenie, tym większa szansa, że użytkownicy będą dalej korzystać z Twojej aplikacji. Za każdym razem, gdy użytkownik musi ponownie się zalogować, pojawia się bariera. Jeśli zdarza się to zbyt często, może to być frustrujące, prowadzić do mniejszego zaangażowania i większej liczby rezygnacji. Rozwiązanie? Upewnij się, że zarządzanie sesją jest poprawnie skonfigurowane, by użytkownicy pozostawali zalogowani jak najdłużej, przy zachowaniu bezpieczeństwa.

Elementy poprawnej konfiguracji ciasteczek

Czasy wygaśnięcia

Trwałe sesje sprawiają, że użytkownicy pozostają zalogowani nawet po zamknięciu aplikacji lub strony. Osiąga się to przez odpowiednią konfigurację ciasteczek sesyjnych (tych, które utrzymują zalogowanie). Aby użytkownicy byli zalogowani przez wybrany czas, musisz ustawić właściwości expires i max-age ciasteczek sesyjnych. Określają one, jak długo ciasteczko będzie ważne, zanim zostanie automatycznie usunięte przez aplikację lub przeglądarkę.

  • expires: Ta właściwość ustawia bezwzględną datę i godzinę wygaśnięcia ciasteczka.

  • max-age: Ta właściwość określa czas życia ciasteczka w sekundach od momentu jego ustawienia. Często jest łatwiejsza w użyciu niż expires, bo nie trzeba wyliczać konkretnej daty i godziny.

Jeśli te właściwości nie są ustawione, ciasteczko wygaśnie, gdy tylko użytkownik zamknie przeglądarkę lub aplikację, kończąc sesję i wylogowując użytkownika. Zwróć uwagę, że takie ciasteczka bez czasu wygaśnięcia często nazywa się "ciasteczkami sesyjnymi". W tym przypadku "sesja" oznacza czas, przez jaki użytkownik miał otwartą przeglądarkę/aplikację, natomiast w tym wpisie blogowym nazywamy sesją cały okres, przez który chcesz, by użytkownik był zalogowany (nawet jeśli aplikacja/przeglądarka była w międzyczasie zamknięta).

Czas wygaśnięcia, którego chcesz użyć, zależy od tego, jak poważne byłyby skutki przejęcia konta przez hakera. W przypadku konta bankowego byłoby to bardzo poważne, więc należy ustawić krótki czas wygaśnięcia. Jednak utrata dostępu do konta Netflix nie jest aż tak krytyczna, więc czas wygaśnięcia co najmniej miesiąc lub dłużej będzie w porządku. W tym przypadku konieczność ciągłego ponownego logowania byłaby zbyt uciążliwa, by uzasadnić wyższy poziom bezpieczeństwa.

Inne ważne właściwości ciasteczek

Te właściwości nie są niezbędne, żeby użytkownicy pozostali zalogowani, ale ich ustawienie jest zalecane, bo utrudnia atakującym kradzież ciasteczek sesyjnych. Jeśli ktoś ukradnie ciasteczko sesyjne, może zalogować się na konto użytkownika bez znajomości jego loginu i hasła.

  • Secure: Ta flaga sprawia, że ciasteczko jest wysyłane tylko przez HTTPS, co jest kluczowe dla bezpieczeństwa, zwłaszcza jeśli Twoja aplikacja obsługuje wrażliwe dane. Zawsze upewnij się, że ta opcja jest włączona.

  • HttpOnly: Ta flaga uniemożliwia JavaScriptowi dostęp do ciasteczka, co pomaga chronić przed atakami typu cross-site scripting (XSS). Ustawienie tej flagi to dobra praktyka dla każdego ciasteczka sesyjnego.

Obsłuż wygasanie sesji w przyjazny sposób

Nawet jeśli ustawisz długi czas trwania sesji, w końcu nadejdzie moment jej wygaśnięcia. To, jak sobie z tym poradzisz, może mieć duży wpływ na doświadczenie użytkownika.

Testowanie

Ważne jest, żebyś przetestował, czy pozostawanie zalogowanym działa na Twojej stronie. Sprawdź to zarówno na komputerze, jak i na smartfonie. Jeśli działa w przeglądarce, ale nie w aplikacji, daj nam znać, żebyśmy mogli to sprawdzić.

Podsumowanie

Utrzymanie użytkowników zalogowanych jest kluczowe dla płynnego i przyjemnego korzystania z Twojej aplikacji. Poprawna konfiguracja ciasteczek sesyjnych pozwoli Ci zapewnić, że użytkownicy będą zalogowani tak długo, jak to możliwe. Dokładne testy są niezbędne, żeby wychwycić ewentualne problemy zanim dotkną użytkowników.

Wdróż te strategie, żeby zminimalizować przerwy, zwiększyć satysfakcję użytkowników i sprawić, by Twoja aplikacja była chętnie używana.

Powiązane artykuły


Holograficzny smartfon z niebieską strzałką obrotu wokół niego, sztuka cyfrowa

Kiedy ograniczyć aplikację do trybu poziomego lub pionowego

Tworząc aplikacje ze stron, pozwalamy użytkownikom zablokować orientację aplikacji. Oto dlaczego nie zalecamy tego robić.

Humanoidalny robot z dużą miotłą zamiatający stertę danych, sztuka cyfrowa

Jak naprawić problemy z cache'owaniem w aplikacji

Poprawna konfiguracja cache na stronie jest kluczowa, by zmiany na stronie od razu pojawiały się w aplikacji.

Humanoidalny robot aktualizujący plik w szafce, sztuka cyfrowa

Jak zaktualizować adres lub nazwę w koncie deweloperskim Google

Jeśli nazwa lub adres Twojej firmy się zmieni, zostanie to odnotowane przy numerze DUNS. Następnie musisz też potwierdzić nowe dane w Google.


Autor Jan Bunk
Napisane przez
Jan Bunk

Cześć, jestem Jan! Stworzyłem webtoapp.design w 2019 roku podczas studiów informatycznych na uniwersytecie. Od tego czasu wiele się zmieniło – nie tylko ukończyłem studia, ale też nie prowadzę już webtoapp.design sam. Rozwinęliśmy się w globalny, w pełni zdalny zespół i zdobyliśmy mnóstwo doświadczenia w tworzeniu i publikowaniu aplikacji. Stworzyliśmy i opublikowaliśmy setki aplikacji w sklepach, gdzie zostały pobrane miliony razy.