<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Komentarze do: Spring Security i Json Web Token	</title>
	<atom:link href="https://nullpointerexception.pl/spring-security-i-json-web-token/feed/" rel="self" type="application/rss+xml" />
	<link>https://nullpointerexception.pl/spring-security-i-json-web-token/</link>
	<description>Blog o programowaniu w Javie</description>
	<lastBuildDate>Fri, 04 Aug 2023 17:07:08 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>
		Autor: Paweł		</title>
		<link>https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-3338</link>

		<dc:creator><![CDATA[Paweł]]></dc:creator>
		<pubDate>Wed, 28 Jul 2021 20:25:24 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1231#comment-3338</guid>

					<description><![CDATA[Super, dzięki za radę. 
Nie myślałem, że to istotne - do frontu używam Angulara. Skoro tak robiłeś to chyba najprościej ustawię ten token na 12 godzin i wykorzystam sposób z pop-upem.  Trzeba to będzie przechwycić interceptorem ?]]></description>
			<content:encoded><![CDATA[<p>Super, dzięki za radę.<br />
Nie myślałem, że to istotne &#8211; do frontu używam Angulara. Skoro tak robiłeś to chyba najprościej ustawię ten token na 12 godzin i wykorzystam sposób z pop-upem.  Trzeba to będzie przechwycić interceptorem ?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Mateusz Dąbrowski		</title>
		<link>https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-3337</link>

		<dc:creator><![CDATA[Mateusz Dąbrowski]]></dc:creator>
		<pubDate>Wed, 28 Jul 2021 19:46:05 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1231#comment-3337</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-3336&quot;&gt;Paweł&lt;/a&gt;.

W podobnych przypadkach jak twój ustawiałem zwykle tokena na 10-12 godzin. Wtedy pracownik musiał się logować do aplikacji każdego dnia rano i ważność tokena starczała mu na cały dzień pracy.

Nie napisałeś, jakiego frontendu używasz, czy jest to Angular/React, czy może Thymeleaf. Jak to drugie to faktycznie może być tak, że ktoś może stracić jakieś dane przy zapisie. Ale można też to obejść, sprawdzając co jakiś czas ajaxem czy token jest ważny. W Angular/React wszystko dzieje się ajaxem, więc można uniknąć utraty tych danych i po prostu wyświetlić użytkownikowi popup z logowaniem. Jest na pewno kilka sposobów poradzenia sobie z tym i wszystkie będą pewnie łatwiejsze niż wdrażanie OAuth2. 

A jak nadal chcesz się bawić w OAuth, to tu znajdziesz kilka artykułów (jak chcesz robić bez zewnętrznego providera, to sprawdź sekcję legacy):
https://www.baeldung.com/spring-security-oauth]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-3336">Paweł</a>.</p>
<p>W podobnych przypadkach jak twój ustawiałem zwykle tokena na 10-12 godzin. Wtedy pracownik musiał się logować do aplikacji każdego dnia rano i ważność tokena starczała mu na cały dzień pracy.</p>
<p>Nie napisałeś, jakiego frontendu używasz, czy jest to Angular/React, czy może Thymeleaf. Jak to drugie to faktycznie może być tak, że ktoś może stracić jakieś dane przy zapisie. Ale można też to obejść, sprawdzając co jakiś czas ajaxem czy token jest ważny. W Angular/React wszystko dzieje się ajaxem, więc można uniknąć utraty tych danych i po prostu wyświetlić użytkownikowi popup z logowaniem. Jest na pewno kilka sposobów poradzenia sobie z tym i wszystkie będą pewnie łatwiejsze niż wdrażanie OAuth2. </p>
<p>A jak nadal chcesz się bawić w OAuth, to tu znajdziesz kilka artykułów (jak chcesz robić bez zewnętrznego providera, to sprawdź sekcję legacy):<br />
<a href="https://www.baeldung.com/spring-security-oauth" rel="nofollow ugc">https://www.baeldung.com/spring-security-oauth</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Paweł		</title>
		<link>https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-3336</link>

		<dc:creator><![CDATA[Paweł]]></dc:creator>
		<pubDate>Wed, 28 Jul 2021 19:06:49 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1231#comment-3336</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-3334&quot;&gt;Mateusz Dąbrowski&lt;/a&gt;.

Dzięki za odpowiedź. Tak się składa, że piszę aplikację webową, która jest przeznaczona do użytku wewnętrznego firmy - jest to aplikacja tylko na potrzeby nauki.  Koncepcyjnie nie chciałbym sytuacji, gdy ktoś używałby mojej apki i w trakcie pracy token wygasa, po czym przekierowuje go do loginu, a niezapisane dane zostają utracone. Czy w takim razie mógłbyś polecić jakiś dobry tutorial z Oauth2 ? Chciałbym to zaimplementować w miarę fachowo :-) W poprzedniej aplikacji użyłem keycloaka i robił to za mnie. Teraz chcę to zrobić sam.]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-3334">Mateusz Dąbrowski</a>.</p>
<p>Dzięki za odpowiedź. Tak się składa, że piszę aplikację webową, która jest przeznaczona do użytku wewnętrznego firmy &#8211; jest to aplikacja tylko na potrzeby nauki.  Koncepcyjnie nie chciałbym sytuacji, gdy ktoś używałby mojej apki i w trakcie pracy token wygasa, po czym przekierowuje go do loginu, a niezapisane dane zostają utracone. Czy w takim razie mógłbyś polecić jakiś dobry tutorial z Oauth2 ? Chciałbym to zaimplementować w miarę fachowo 🙂 W poprzedniej aplikacji użyłem keycloaka i robił to za mnie. Teraz chcę to zrobić sam.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Mateusz Dąbrowski		</title>
		<link>https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-3334</link>

		<dc:creator><![CDATA[Mateusz Dąbrowski]]></dc:creator>
		<pubDate>Wed, 28 Jul 2021 17:34:09 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1231#comment-3334</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-3332&quot;&gt;Paweł&lt;/a&gt;.

Cześć Paweł, dzięki za pytanie. To jest dosyć prosta implementacja JWT, więc w sytuacji, gdy token wygaśnie, użytkownik musi zalogować się jeszcze raz. Oczywiście można się pokusić o zrobienie jakiegoś mechanizmu odświeżania tokena, ale w tej implementacji trochę nie ma to sensu. Jak potrzebujesz odświeżania tokena, to lepiej jest użyć OAuth2, gdzie masz już wszystko zaimplementowane na dwóch tokenach. W tej implementacji możesz jedynie sterować, czasem ważności tokena. I w zależności od aplikacji może to być kilka minut, godzin albo nawet dni.]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-3332">Paweł</a>.</p>
<p>Cześć Paweł, dzięki za pytanie. To jest dosyć prosta implementacja JWT, więc w sytuacji, gdy token wygaśnie, użytkownik musi zalogować się jeszcze raz. Oczywiście można się pokusić o zrobienie jakiegoś mechanizmu odświeżania tokena, ale w tej implementacji trochę nie ma to sensu. Jak potrzebujesz odświeżania tokena, to lepiej jest użyć OAuth2, gdzie masz już wszystko zaimplementowane na dwóch tokenach. W tej implementacji możesz jedynie sterować, czasem ważności tokena. I w zależności od aplikacji może to być kilka minut, godzin albo nawet dni.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Paweł		</title>
		<link>https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-3332</link>

		<dc:creator><![CDATA[Paweł]]></dc:creator>
		<pubDate>Wed, 28 Jul 2021 16:31:44 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1231#comment-3332</guid>

					<description><![CDATA[Cześć Mateusz!
Mam pytanie, co się dzieje, gdy token wygaśnie? Użytkownik będzie musiał znowu się zalogować? Czy jest możliwość odświeżenia tokena, gdy zbliża się jego koniec ważności? 

Pozdrawiam
Paweł]]></description>
			<content:encoded><![CDATA[<p>Cześć Mateusz!<br />
Mam pytanie, co się dzieje, gdy token wygaśnie? Użytkownik będzie musiał znowu się zalogować? Czy jest możliwość odświeżenia tokena, gdy zbliża się jego koniec ważności? </p>
<p>Pozdrawiam<br />
Paweł</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Sebastian		</title>
		<link>https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-2851</link>

		<dc:creator><![CDATA[Sebastian]]></dc:creator>
		<pubDate>Tue, 30 Mar 2021 17:26:58 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1231#comment-2851</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-2752&quot;&gt;Adrian&lt;/a&gt;.

Dokładnie tak jak kolega Adrian wspomniał, adnotacja AuthenticationPrincipal zwraca nulla, walczyłem z tym pół dnia grzebiąc w filtrze a problem okazał się banalny i wystarczyło usunąć adnotację by zwracać usera. Sprawdzone w Javie.]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-2752">Adrian</a>.</p>
<p>Dokładnie tak jak kolega Adrian wspomniał, adnotacja AuthenticationPrincipal zwraca nulla, walczyłem z tym pół dnia grzebiąc w filtrze a problem okazał się banalny i wystarczyło usunąć adnotację by zwracać usera. Sprawdzone w Javie.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Mateusz Dąbrowski		</title>
		<link>https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-2795</link>

		<dc:creator><![CDATA[Mateusz Dąbrowski]]></dc:creator>
		<pubDate>Mon, 08 Mar 2021 17:37:01 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1231#comment-2795</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-2766&quot;&gt;Insss&lt;/a&gt;.

Tak, jeśli chcesz mieć bezstanową sesję, co w przypadku tokena jwt jest jak najbardziej potrzebne. Token JWt używa się właśnie po to, żeby mieć bezstanową sesję.]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-2766">Insss</a>.</p>
<p>Tak, jeśli chcesz mieć bezstanową sesję, co w przypadku tokena jwt jest jak najbardziej potrzebne. Token JWt używa się właśnie po to, żeby mieć bezstanową sesję.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Insss		</title>
		<link>https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-2766</link>

		<dc:creator><![CDATA[Insss]]></dc:creator>
		<pubDate>Wed, 03 Mar 2021 08:42:42 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1231#comment-2766</guid>

					<description><![CDATA[Cześć, czy ta linijka jest konieczna?
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)]]></description>
			<content:encoded><![CDATA[<p>Cześć, czy ta linijka jest konieczna?<br />
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Mateusz Dąbrowski		</title>
		<link>https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-2753</link>

		<dc:creator><![CDATA[Mateusz Dąbrowski]]></dc:creator>
		<pubDate>Sun, 21 Feb 2021 16:16:38 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1231#comment-2753</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-2752&quot;&gt;Adrian&lt;/a&gt;.

Cześć Adrian, w springu 2.4 coś się zmieniło i teraz działa to trochę inaczej. Już ktoś mi to zgłaszał, ale jeszcze nie miałem okazji się temu przyjrzeć <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" />]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-2752">Adrian</a>.</p>
<p>Cześć Adrian, w springu 2.4 coś się zmieniło i teraz działa to trochę inaczej. Już ktoś mi to zgłaszał, ale jeszcze nie miałem okazji się temu przyjrzeć 😉</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Adrian		</title>
		<link>https://nullpointerexception.pl/spring-security-i-json-web-token/#comment-2752</link>

		<dc:creator><![CDATA[Adrian]]></dc:creator>
		<pubDate>Sun, 21 Feb 2021 14:41:07 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1231#comment-2752</guid>

					<description><![CDATA[W moim przypadku adnotacja AuthenticationPrincipal powodowała, że w miejsce UsernamePasswordAuthenticationToken wchodził null. Usunąłem adnotację, ale zatrzymałem parametr i nagle zaczął mi dawać tego usera do kontrolera :P Tylko ja robiłem to w Kotlinie, nie w Javie.]]></description>
			<content:encoded><![CDATA[<p>W moim przypadku adnotacja AuthenticationPrincipal powodowała, że w miejsce UsernamePasswordAuthenticationToken wchodził null. Usunąłem adnotację, ale zatrzymałem parametr i nagle zaczął mi dawać tego usera do kontrolera 😛 Tylko ja robiłem to w Kotlinie, nie w Javie.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
