Wpis z mikrobloga

#programowanie #naukaprogramowania #studia #webdev

Mam zamiar napisać pewien system z serwerem napisanym w Springu a klientem docelowo na urządzenia mobilne(React Native) i desktopa(electron + React). Myślałem do tej pory że zastosowanie JWT będzie dobrym wyjściem. Ostatnio nachodzą mnie jednak wątpliwości.

Dla JWT powinienem ustawić krótki czas życia; dla użytkownika nie będzie jednak wygodne logowanie się co np 30 min. Czytałem że wyjściem na to są Refresh tokeny, z tym że Refresh tokeny powiniemen trzymać w bazie danych, więc czy nie zaprzecza to idei JWT? Bo chyba robię w tym momencie coś bardzo podobnego do normalnego zarządzania sesjami na serwerze.

Co sprawia że JWT jest tak popularny, szczególnie w aplikacjach na urządzenia mobilne? Z mojej perspaktywy jest to technika o wiele trudniejsza w implementacji, szczególnie przy zabezpieczaniu websocketów których w mojej aplikacji będzie sporo. Powinienem zostać przy JWT czy zmienić podejście?
  • 3
@Jebudu: bo ludzie lubią nowe głośne rozwiązania bez zastanawiania się nad konsekwencjami. Tak JWT ma swoje zastosowania, ale nawet w nich jest zwyczajnie przekomplikowany i słaby. Sesje są zdecydowanie lepsze i wcale nie trudniejsze dla mobilek, a tam gdzie JWT ma sens zdecydowanie lepszym rozwiązaniem jest PASETO.
Dla JWT powinienem ustawić krótki czas życia; dla użytkownika nie będzie jednak wygodne logowanie się co np 30 min


Przecież aplikacja kliencka może co jakiś czas prosić o odświeżenie jwt.