Jak zaimplementować tryb gościa (użytkownicy anonimowi) i konwersję na użytkowników Logto
Dowiedz się, jak zaimplementować tryb gościa i konwertować anonimowych użytkowników na użytkowników Logto, korzystając z trójfazowego schematu: zarządzanie sesjami gościa, uwierzytelnienie za pomocą OIDC oraz bezpieczne łączenie danych gościa z kontem użytkownika.
YijunDeveloper
Przestań tracić tygodnie na uwierzytelnianie użytkowników
Uruchamiaj bezpieczne aplikacje szybciej z Logto. Zintegruj uwierzytelnianie użytkowników w kilka minut i skup się na swoim głównym produkcie.
Wiele aplikacji pozwala użytkownikom wypróbować funkcje przed rejestracją. Pomyśl o koszykach zakupowych, szkicach dokumentów czy zapisanych preferencjach. Użytkownicy oczekują, że taki „tryb gościa” po prostu będzie działał.
Ale jeśli używasz Logto (lub dowolnego dostawcy OIDC) do uwierzytelniania, możesz się zastanawiać: jak obsłużyć tych anonimowych użytkowników?
Możesz się spodziewać, że Logto ma funkcję „anonimowego logowania”. Coś w stylu: wywołaj API, pobierz token, bez interakcji użytkownika.
Ale OIDC nie działa w ten sposób. Oto dlaczego:
OIDC opiera się na zgodzie użytkownika. Cała idea polega na weryfikowaniu „kim jest ta osoba?”. Token anonimowy oznaczałby „to jest ktoś, ale nie wiemy kto” — co przeczy celowi.
Zweryfikuj guest ID — potwierdź, że jest to prawdziwa sesja gościa wystawiona przez twój backend. To kluczowe — nigdy nie ufaj guest ID wysłanemu z klienta bez weryfikacji.
Po pozytywnej weryfikacji:
Połącz dane gościa z kontem użytkownika
Unieważnij sesję gościa
Logika połączenia zależy od biznesu. Koszyk? Scal przedmioty. Szkice dokumentów? Przypisz własność. Ty decydujesz.
Jak zabezpieczyć endpoint połączenia przez walidację tokenów#
Endpoint łączenia to wrażliwa operacja. Kilka rzeczy wartych zapamiętania:
Zawsze waliduj access token. Nie czytaj user ID tylko z requestu! Odszyfruj i zweryfikuj JWT. Zobacz jak zrobić to z Logto.
Zawsze waliduj guest ID. Sprawdź, że istnieje w bazie i nie wygasł. Jeśli guest ID to JWT, sprawdź sygnaturę.
Wymagaj uwierzytelnienia. Endpoint musi odrzucać żądania bez ważnego tokenu.
Ustaw limit czasu życia sesji gościa. Usuwaj opuszczone sesje po 30 dniach (lub jak długo chcesz).
Gość (twoja aplikacja) → zarządzanie sesjami przed rejestracją
Uwierzytelnienie (Logto) → obsługa rejestracji i logowania
Połączenie (twoja aplikacja) → powiązanie danych gościa z użytkownikiem
Ten schemat działa z każdym dostawcą OIDC, nie tylko Logto. Kluczowa myśl: uwierzytelnianie i śledzenie sesji to osobne zagadnienia. Pozwól każdemu systemowi robić to, co do niego należy.