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

NODE - RestAPI, JWT Token - zdalne wylogowanie użytkownika.

Object Storage Arubacloud
+1 głos
182 wizyt
pytanie zadane 28 lutego 2022 w JavaScript przez rszczepanski02 Obywatel (1,180 p.)
Cześć. Przychodzę z pytaniem dotyczącym zdalnego wylogowania użytkownika przez administratora. Mam zaimplementowaną klasyczną strategię logowania za pomocą jwt / passport-local-strategy (NEST). Akurat to nie ma większego znaczenia. Chodzi mi o logikę działania tego typu funkcji. Powinienem w jakiś sposób przechwycić token zalogowanego użytkownika i go po prostu zniszczyć? Nie za bardzo wiem jak się za to zabrać, z góry dziękuję za pomoc :D

1 odpowiedź

+1 głos
odpowiedź 28 lutego 2022 przez Jakub 0 Pasjonat (23,120 p.)
edycja 28 lutego 2022 przez Jakub 0
 
Najlepsza

JWT ma być z założenia bezstanowy i dylemat o którym wspominasz jest jednym z głównych argumentów przemawiających za jego niestosowaniem do implementacji sesji użytkownika: http://cryto.net/~joepie91/blog/2016/06/13/stop-using-jwt-for-sessions/

Niebezpieczeństwem przy stosowaniu JWT jest właśnie to, że pozostaje on aktywny po "wylogowaniu" przez ustalony czas. Możesz temu jakoś zaradzić, np:

  • Tworząc black-listę nieaktywnych tokenów (zauważ jednak, że użycie JWT nie wiele Ci wtedy daje, bo za każdym razem i tak musisz robić zapytanie do bazy)
  • Zmieniając fragment secret key do jego wygenerowania.
  • Tworząc tokeny o bardzo krótkim czasie życia i refresh tokeny do pozyskania nowych.

Chcąc by autoryzacja JWT była jednocześnie wygodna dla użytkownika a zarazem bezpieczna musisz się dość napracować. O wiele lepszym rozwiązaniem jest więc najczęściej klasyczny system sesji.

Tu masz przykład dla node: https://www.youtube.com/watch?v=kmAzuH2Lzug

Generalnie bezstanowe tokeny są bardzo przydatne w innych sytuacjach (np. do autoryzacji między mikroserwisami, tworzenia tymczasowych jednorazowych linków itd...).

komentarz 28 lutego 2022 przez rszczepanski02 Obywatel (1,180 p.)
Czy znasz jakieś lepsze alternatywy lokalnej autoryzacji i autentykacji użytkownika?
komentarz 28 lutego 2022 przez Jakub 0 Pasjonat (23,120 p.)
edycja 28 lutego 2022 przez Jakub 0
Już zmodyfikowałem odpowiedź. Najlepiej jak będziesz zapisywał sesje na serwerze (z wykorzystaniem jakiegoś in-memory db jak Redis).
komentarz 28 lutego 2022 przez rszczepanski02 Obywatel (1,180 p.)

Bardzo Ci dziękuję za twoją pomoc smiley

Podobne pytania

0 głosów
0 odpowiedzi 190 wizyt
pytanie zadane 23 października 2022 w JavaScript przez tonn204 Mądrala (7,440 p.)
0 głosów
1 odpowiedź 1,082 wizyt
pytanie zadane 7 września 2017 w PHP przez kevin Mądrala (5,010 p.)
+1 głos
1 odpowiedź 406 wizyt
pytanie zadane 13 stycznia 2021 w JavaScript przez HowToIT Początkujący (290 p.)

92,556 zapytań

141,404 odpowiedzi

319,561 komentarzy

61,942 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!

...