• 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.

VPS Starter Arubacloud
+1 głos
181 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 183 wizyt
pytanie zadane 23 października 2022 w JavaScript przez tonn204 Mądrala (7,440 p.)
0 głosów
1 odpowiedź 1,061 wizyt
pytanie zadane 7 września 2017 w PHP przez kevin Mądrala (5,010 p.)
+1 głos
1 odpowiedź 391 wizyt
pytanie zadane 13 stycznia 2021 w JavaScript przez HowToIT Początkujący (290 p.)

92,452 zapytań

141,262 odpowiedzi

319,081 komentarzy

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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...