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

Strategia dla JsonWebToken

Object Storage Arubacloud
+1 głos
107 wizyt
pytanie zadane 16 listopada 2020 w JavaScript przez Jiangshi Nowicjusz (130 p.)
Witam,

Chciałbym się dowiedzieć czy strategia, którą chcę dodać do aplikacji jest optymalna w internecie trochę ciężko o jakieś sensowne inforamcje związane z autoryzacją użytkowników używając JWT. Mianowicię chcę zrobić aby użytkownik po zalogowaniu otrzymał token o długiej żywotności który będzie przechowywany w bazie danych jako tablica tokenów z których korzysta użytkownik. Po wylogowaniu token będzie usuwany z bazy danych lub kiedy użytkownik zmieni hasło tablica tokenów zostanie wyczyszczona. Zaletą która widzę to brak refreshTokena jednak dużą wadą jest sprawdzanie bazy danych z każdym requestem użytkownika.

Nie jestem ekspertem jeżeli chodzi o bezpieczeństwo aplikacji dlatgo chcę się dowiedzieć czy to przejdzie? Jeżeli macie jakieś rady to chętnie z nich skorzystam.

1 odpowiedź

+1 głos
odpowiedź 16 listopada 2020 przez Ehlert Ekspert (212,670 p.)

Generalnie zrealizowałeś sesję php, tyle że z wykorzystaniem bazy.

Zaletą która widzę to brak refreshTokena jednak dużą wadą jest sprawdzanie bazy danych z każdym requestem użytkownika.

To żadne obciążenie dla aplikacji. I tak musisz wyciągnąć usera z bazy. Jedno query więcej nie zrobi różnicy. Zawsze możesz użyć w ORMie flagi eager i wtedy poleci join.

komentarz 16 listopada 2020 przez Jiangshi Nowicjusz (130 p.)
Podumałem jeszcze nad tym rozwiązniem i stwierdziłem że nie jest to najlepsze zabezpieczenie bo jeżeli ktoś wykradnie bazę danych użytkowników to będzie miał dostęp do ich Tokenów co nie może mieć miejsca. Podejrzałem jak ma to twitter rozwiązane i zdziwiło mnie że jest jeden token który ma ważność 5 lat i token można unieważnić jedynie zmieniając hasło. Masz może pomysł jak to jest zrealizowane obstawiam, że token zawiera hasło użytkownika i po zrobieniu request sprawdzane jest czy dane użytkownika zgadzają się z tymi w bazie danych. Tylko jest jedno pytanie czy powinno się trzymać hasło w JWT nawet jeżeli jest hashowane.

Podobne pytania

+1 głos
1 odpowiedź 190 wizyt
pytanie zadane 12 listopada 2020 w JavaScript przez LixI Nowicjusz (130 p.)
+1 głos
1 odpowiedź 402 wizyt
+1 głos
2 odpowiedzi 255 wizyt
pytanie zadane 21 sierpnia 2020 w JavaScript przez poldeeek Mądrala (5,980 p.)

92,565 zapytań

141,416 odpowiedzi

319,599 komentarzy

61,950 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...