Aktywne Wpisy
JanRouterTrzeci +97
Rozbraja mnie to, że pracownicy #korpo #korposwiat jutro "jadą do pracy" xD
Co za #!$%@? akcja żeby mając w domu prąd, internet i służbowego laptopa kapo kazał przyjeżdżać do szklanej klatki xD i goje przyjeżdżają xD na własne życzenie zresztą
Nawet nie dziwię się middle managementowi, bo w trakcie pandemii na zdalnych te wszystkie juleczki HR coordinator 4k ewidentnie waliły w #!$%@? na grubalu. Wdzwania się typiara na Teams meeting, a tam
Co za #!$%@? akcja żeby mając w domu prąd, internet i służbowego laptopa kapo kazał przyjeżdżać do szklanej klatki xD i goje przyjeżdżają xD na własne życzenie zresztą
Nawet nie dziwię się middle managementowi, bo w trakcie pandemii na zdalnych te wszystkie juleczki HR coordinator 4k ewidentnie waliły w #!$%@? na grubalu. Wdzwania się typiara na Teams meeting, a tam
MishMashStudio666 +970
Hejo! mam dla was #rozdajo ( ͡° ͜ʖ ͡°)
Mirki i Mirabelki z racji otwarcia mojego salonu jubilerskiego na którego to ciężko pracowałem cały rok, zastawiłem nerkę i wziąłem pożyczkę chwilówkę ᕙ(✿ ͟ʖ✿)ᕗ, mam do rozdania pierścionek złoty. Oczywiście stop złota próby 0.585. Kamień centralny to London Topaz 1.20ct oraz diamenty o łącznej masie 0.1ct. Wartość rynkowa 2700zł. Wartość galeriowa to
Mirki i Mirabelki z racji otwarcia mojego salonu jubilerskiego na którego to ciężko pracowałem cały rok, zastawiłem nerkę i wziąłem pożyczkę chwilówkę ᕙ(✿ ͟ʖ✿)ᕗ, mam do rozdania pierścionek złoty. Oczywiście stop złota próby 0.585. Kamień centralny to London Topaz 1.20ct oraz diamenty o łącznej masie 0.1ct. Wartość rynkowa 2700zł. Wartość galeriowa to
Chciałbym zapytać Was o jedną rzecz. Otóż implementuje sobie w Spring Security filtr dla JWT. Wszystko wydaje mi się jasne prócz jednej kwestii, dosyć podstawowej.
Dotychczas myślałem, że dostęp do claimsów zawartych w JW Tokenie zabezpieczony jest tzw. signing key. W back-endzie, podczas generowania tokena, mam ustawione
.signWith(SignatureAlgorithm.HS512, - tutaj mój klucz przekonwertowany na byte[] -)
No i gitara, token zabezpieczony, klucz w formacie tablicy bajtów, elegancko.
Tu jednak rodzi mi się pytanko, dlaczego zatem, pomimo tego, że w back-endzie aby odczytać nawet podstawowe claimsy, jak np. username itd., muszę używać tego klucza:
Jwts.parser().setSigningKey( - tutaj mój klucz w formacie byte[] - ).parseClaimsJws(token).getBody();
ale już np. na stronce https://jwt.io/ bez problemu mogę dekodować mojego tokena i pozyskać z niego podstawowe informacje, jak poniżej na screenie.
Jak to w takim razie działa?
Z góry dzięki za pomoc.
#java
tak to ktos moglby wzaic stary token, wyedytowac part 1 albo 2 i 3 bez zmian i by dzialalo, no a raczej nie powinno.
Ogólnie JWT token składa się z trzech części oddzielonej kropką. Payload znajduje się jako drugi element, czyli: eyJzdWIiOiJrdWJhIiwiZXhwIjoxNjY2Njk3NTU3LCJpYXQiOjE2NjY2ODc1NTd9
Co po zdekodowaniu daje:
{"sub":"kuba","exp":1666697557,"iat":1666687557}
Być może biblioteka, której używasz od razu robi walidację tj. czy sygnatura jest prawidłowa (token wystawiony przez uprawnioną stronę), a nie spreparowany
@czepoI: I bardzo dobrze. Ogólnie na backendzie nie powinno się nawet zerkać na token JWT bez sprawdzenia podatności sygnatury. W przeciwnym wypadku prosisz się o kłopoty bo można się zapomnieć i z rozpędu "uwierzyć na słowo" w to co przesłał klient. A coś takiego to ogromna dziura bezpieczeństwa. Należy przyjmować że broń jest zawsze załadowana a token przed rozparsowaniem podrobiony. Pierwsze co