Niedawno nauczyłem się troszkę o tokenach JWT i zaczełem wykorzystywać w swojej aplikacji.
Token składa się z header.payload.signature gdzie ostatnim jest hash pozostalych wraz z sekretnym kluczem (800 losowych znaków.)
w payloadzie tokena jest jego żywotność, data utworzenia, która server analizuje i w razie jej przekroczenia niszczy token.
Osoba posiadająca token zależnie od uprawnien zapisanych w payload może wykonywać zapytania do bazy danych (kupowanie w grze itd.).
I to w skrócie dużym, tak to powinno mniej więcej wyglądać?
----
Ogólnie zastanawiam się po co w ogóle mi tokeny, miały rzekomo ograniczyć ilość zapytań do bazy danych, lecz używam ich tylko przy zapytaniach do bazy danych dla weryfikacji, a same tokeny są podczepione pod meneger sesji gdzie i tak jest zapytanie, czy użytkownik nie zniszczył sesji, więc przy każdym wyslaniu tokenu zapytanie jest. Dlatego nie lepiej zrobić losowy ciąg znaków jako token i sprawdzać go w bazie czy jest przypisany do użytkownika, a dane do aplikacji wysyłać wraz z tokenem jeśli ten działa?
To jest post w stylu change my mind i naprawdę wiem że się pewnie mylę, inaczej nie miały by one prawa bytu, ale chce żeby ktoś zmienil moje zdanie.
Pozdrawiam i dziękuje z góry za odpowiedzi