Aktywne Wpisy
![yosemitesam](https://wykop.pl/cdn/c0834752/150cc8a74d0adc8cb4cdffe48cad28cce0f05aa24c1101ce5d4b395cf1939004,q60.jpg)
yosemitesam +524
#rosja #ukraina #wojna #ruskapropaganda
Rosjanie znaleźli dziesiątki dokumentów zabitych polskich najemników xd Jeden z nich nazywa się Kia Sorento...
https://twitter.com/leandroOnX/status/1823254175469195421
Rosjanie znaleźli dziesiątki dokumentów zabitych polskich najemników xd Jeden z nich nazywa się Kia Sorento...
https://twitter.com/leandroOnX/status/1823254175469195421
![yosemitesam - #rosja #ukraina #wojna #ruskapropaganda
Rosjanie znaleźli dziesiątki do...](https://wykop.pl/cdn/c3201142/e24aea488546a70d2307dcc405a087dfc1d6c9bcad12eb0ec449f0f98fe77bd8,w150h100.jpg)
![202492](https://wykop.pl/cdn/c0834752/24470068472ef08ff0e4311b40a407bd5ca8a42753cf34adc07fb2baa54f25b6,q60.jpg)
202492 +12
Mamy JWT, przeczytałem pół internetu i zawsze coś jest źle wg założeń i tego jak co przechowywać. Wiec przychodze jak zawsze do społeczności #programista15k
Mamy JWT, serwer je wysyła do użytkownika. Jak najlepiej ?
Cookie httponly strict secure
Header authorization Bearer
Jeśli header to gdzie przechowywać po stronie użytkownika aby używać i aby użytkownik nie był wylogowywany przy refreshach itp?
Jeśli cookie to jak odesłać do serwera w headerze ? Nie da się bo HTTP only?
Refresh token, przechowujemy gdzie ? Redis/Baza danych? Czy cookie ? Storage?
Jak upewniamy się ze nie został ukradziony ? Przypisujemy do user agenta i IP użytkownika ? A co przy zmianie IP spowodowanej resetem modemu utrata prądu itp itd czy z samoczynna zmiana która następuje po x dniach lub godzinach. Czy może po dekodowaniu jwt jeśli czas się skończył a id użytkownika z zdekodowanego jwt zgadza się z id refresh to przydzielamy nowy acces token nie zastanawiając się czy oba nie zostały po prostu wykradzione ? I wtedy w storage przechowujemy access token a refresh w HTTP only ?
I co z tym authorization headerem tak ogólnie. Widzę zadania nieraz rekrutacyjne gdzie pisze żeby tak wysyłać na frontend, i spoko. Może nie mój problem już ale ciekaw jestem jak potem jest on przechowywany na froncie ? I jak odsyłany do serwera tzn z jakiego miejsca.
Jak mamy formularz który wykonuje post na dany endpoint to jak dodajemy authorization Bearer do formularza ? Czy do każdego formularza należy pisać js i nie korzystać z „automatycznego” wysyłania ?
#programowanie #nodejs #expressjs
Ale weź nie trolluj, bo chłop serio kiedyś wrzuci token w local storage xD Wrażliwe dane zawsze jako cookie z flagą HttpOnly i określonym Expires
Refresh token w localStorage ? Heh ok
Acces token to przepada jak już po 5-10min lub po zamknięciu
RefreshToken to user sobie trzyma, a nie my ? To jak go walidujemy jeśli ma on być random stringiem a nie drugim podpisanym tokenem? Jeśli nie walidujemy go to po co wgl go
@PseudoProgramista: no to podeślij. Ciekawy jestem co podeślesz skoro JWT to jest tylko standard tworzenia tokena i podpisywania go, a tego tematu w ogóle nie poruszyliśmy xD
OP pytal o skradziony token: wg mnie chcial zapytac o blackliste i sposoby na wylogowanie usera "przez serwer".
Przyklad: user stracil dostep do platnej uslugi bo nie zaplacil abonamentu. Gdyby ciągle generowal refresh token i nie byloby mechanizmu blacklisty, to nigdy
@PseudoProgramista: No i już widzę, że nic nie
Czepiam sie bo napisales jakby trzymanie jwt w local storage bylo oczywistym bledem i amatorszczyzna a tak
Ten wysyła w body, tamten ciasteczko a tamten w headerze. Ten co mówi ze ciasteczko to ze ma być HTTP only ale dwa posty dalej pisze żeby użytkownik wysyłał przy req jako header authorization Bearer. Ale jak kiedy z HTTPonly nie da się wyciągnąć z poziomu JS wartości ? Jestem zagubiony i zdenerwowany. Potrzebuje pomocy a pierwsza odpowiedz była tak napisana ze nie była pomocna pisząc ze token ma być w ciasteczku i wysyłany w headerze.
Może coś mi umknęło, nie wiem. Naprawdę staram się i sporo przeczytałem, przerobiłem przykładów.
Nie chce złych nawyków zdobyć czy złego korzystania z narzędzi dlatego szukam odpowiedzi, dokładnych i logicznych z podstawa dlaczego tak jest a nie inaczej. To co napisałeś z tym ciasteczkiem było zrozumiałe, miało podstawę i było wytłumaczone. Za
Komentarz usunięty przez autora
@PseudoProgramista: Tak to niestety
@Makurise 1. no nie ma autousuwania localstorage ale co z tego jesli token jest bezuzyteczny bo wygasl?
2. Pisales ze access token przepada po zamknieciu apki, czyli to co pisalem wyzej: ponowne logowanie. I to jest wlasnie ta roznica kiedy uzywasz localstorage. Nie zrozumiales co napisalem a nie "cos mi sie miesza"
1. Refresh token wygasa całkowicie dopiero po jakimś określonym czasie, do tego momentu można go bez problemu pobrać skryptem z local storage i przejąć kontrolę nad kontem. A trzymając go jako ciasteczko z flagą HttpOnly nie da się go pobrać poprzez JS.
2. Nie wymaga ponownego logowania, bo od tego jest refresh token, by uzyskać nowy access token. Ty serio nie wiesz o czym gadasz i mieszasz różne pojęcia/mechanizmy.
@LazyInitializationException: Jeśli resource server pełni też rolę authorization servera to co daje ci zwracanie refresh tokena?
@some_ONE: Nie trzeba trzymać hasła użytkownika.
No to blacklista