• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy robie dobrze w JWT

VPS Starter Arubacloud
0 głosów
307 wizyt
pytanie zadane 27 sierpnia 2019 w Bezpieczeństwo, hacking przez wyłącznikWłącznika Nowicjusz (220 p.)
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

1 odpowiedź

0 głosów
odpowiedź 27 sierpnia 2019 przez Arkadiusz Fajdek Dyskutant (9,450 p.)

Token JWT powinien zawierać do kiedy jest aktywny.

Cały flow wygląda tak -> użytkownik strzela po token -> token zawiera informacje do kiedy jest ważny oraz informacje na temat użytkownika -> np. jakie ma prawa. Najważniejszą sprawą jest to że wszystkie informacje zapisane są w tokenie.

Użytkownik strzela do twojego API używając tokena. Security sprawdza token - nie robi żadnych strzałów do bazy, sprawdza token, czy jest ważny i czy użytkownik ma prawa do danego API.

Nie masz w tym przebiegu dodatkowych strzałów do bazy danych - wszystkie potrzebne dane są w tokenie.

Podobne pytania

+1 głos
1 odpowiedź 464 wizyt
0 głosów
0 odpowiedzi 207 wizyt
pytanie zadane 22 stycznia 2019 w PHP przez Ziito Obywatel (1,110 p.)
0 głosów
1 odpowiedź 700 wizyt
pytanie zadane 8 lipca 2018 w JavaScript przez mi-20 Stary wyjadacz (13,190 p.)

92,775 zapytań

141,703 odpowiedzi

320,568 komentarzy

62,109 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...