Jak "Wylogować" użytkownika z WebApi?

0

Cześć wszystkim.
Stworzyłem kontroler który po poprawnej weryfikacji klienta zwraca token JWT. Teraz się zastanawiam jak mam zaimplementować akcje wylogowania? Czy powinienem do tego celu stworzyć jakiś osobny kontroler po stronie WebApi, czy może powinno to być realizowane po stronie Front Endu?

2

Możesz skasować JWT przechowywany po stronie klienta, bo JWT nie jest specjalnie skonstruowany do wylogowania jako takiego

3

Jak chcesz opierać sesje użytkowników na JWT to masz mały problem, bo nie do tego zostały stworzone :P

Albo to obudujesz dodatkowymi mechanizmami jak przechowywanie informacji o unieważnionych tokenach, albo pogodzisz się z tym, że nie będziesz miał możliwości natychmiastowego zakończenia sesji użytkownika.

3

JWT powstał po to, żebyś nie trackowal sesji po stronie serwera (REST - mówi to coś?). Zaimplementuj sobie refresh tokena co strzelisz do niego raz na 5 minut i JWT daj ważność 6 minut i elo.

Jak ktoś zapieprzy token to wiele nie zdąży nadziałac + bez refresh tokena sesji nie przedluzysz, chyba że znasz credentiale, które są zhashowane i posolone.

0

Trafiłem też na informację, że są zewnętrzne serwisy które mogą przejąć odpowiedzialność za autentykację oraz przechowywanie danych użytkowników. W jakich przypadkach stosuje się takie rozwiązanie? Czy tu chodzi o RODO, czyli dzięki takim serwisom w regulaminie np. sklepu możemy poinformować użytkownika, że jego dane są administrowane przez serwis X, a nie nasz np. sklep?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.