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

Strategia dla JsonWebToken

+1 głos
209 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 (215,070 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ź 400 wizyt
pytanie zadane 12 listopada 2020 w JavaScript przez LixI Nowicjusz (130 p.)
+1 głos
1 odpowiedź 860 wizyt
+1 głos
2 odpowiedzi 477 wizyt
pytanie zadane 21 sierpnia 2020 w JavaScript przez poldeeek Mądrala (5,980 p.)

93,631 zapytań

142,553 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2523p. - Maurycy W
  9. 2459p. - CC PL
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1494p. - ssynowiec
Szczegóły i pełne wyniki

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

Kursy INF.02 i INF.03
...