<?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>
	Comments on: Spring Boot 3 (Spring Security 6) with Kotlin &#038; JWT	</title>
	<atom:link href="https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/</link>
	<description>Kotlin &#38; Backend Tutorials - Learn Through Practice.</description>
	<lastBuildDate>Wed, 16 Apr 2025 04:49:51 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>
		By: mick		</title>
		<link>https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/#comment-97</link>

		<dc:creator><![CDATA[mick]]></dc:creator>
		<pubDate>Fri, 07 Feb 2025 14:33:10 +0000</pubDate>
		<guid isPermaLink="false">https://codersee.com/?p=9008217#comment-97</guid>

					<description><![CDATA[Good tutorial, great to know the nuts and bolts of it. 
I can&#039;t get the application (from git) to run. Could be a library issues, but I barely understand the code, so debugging is a little beyond me. Getting this error:

Error creating bean with name &#039;jwtAuthenticationFilter&#039; defined in file [\jwt_auth\build\classes\kotlin\main\com\codersee\jwtauth\config\JwtAuthenticationFilter.class]: 
Unsatisfied dependency expressed through constructor parameter 1: 
	Error creating bean with name &#039;tokenService&#039; defined in file
		[\jwt_auth\build\classes\kotlin\main\com\codersee\jwtauth\service\TokenService.class]: 
		Failed to instantiate [com.codersee.jwtauth.service.TokenService]: Constructor threw exception
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray
(ConstructorResolver.java:801) 

Any idea why this might be happening? 

thanks 
Mick]]></description>
			<content:encoded><![CDATA[<p>Good tutorial, great to know the nuts and bolts of it.<br />
I can&#8217;t get the application (from git) to run. Could be a library issues, but I barely understand the code, so debugging is a little beyond me. Getting this error:</p>
<p>Error creating bean with name &#8216;jwtAuthenticationFilter&#8217; defined in file [\jwt_auth\build\classes\kotlin\main\com\codersee\jwtauth\config\JwtAuthenticationFilter.class]:<br />
Unsatisfied dependency expressed through constructor parameter 1:<br />
	Error creating bean with name &#8216;tokenService&#8217; defined in file<br />
		[\jwt_auth\build\classes\kotlin\main\com\codersee\jwtauth\service\TokenService.class]:<br />
		Failed to instantiate [com.codersee.jwtauth.service.TokenService]: Constructor threw exception<br />
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray<br />
(ConstructorResolver.java:801) </p>
<p>Any idea why this might be happening? </p>
<p>thanks<br />
Mick</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: HENDI SANTIKA		</title>
		<link>https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/#comment-96</link>

		<dc:creator><![CDATA[HENDI SANTIKA]]></dc:creator>
		<pubDate>Wed, 27 Nov 2024 01:19:26 +0000</pubDate>
		<guid isPermaLink="false">https://codersee.com/?p=9008217#comment-96</guid>

					<description><![CDATA[How do I create user as ADMIN ROLE?

If I create user I didn&#039;t see any role that We can define.

There are some routes that need ADMIN ROLE to access it.

Thanks]]></description>
			<content:encoded><![CDATA[<p>How do I create user as ADMIN ROLE?</p>
<p>If I create user I didn&#8217;t see any role that We can define.</p>
<p>There are some routes that need ADMIN ROLE to access it.</p>
<p>Thanks</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Piotr		</title>
		<link>https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/#comment-95</link>

		<dc:creator><![CDATA[Piotr]]></dc:creator>
		<pubDate>Mon, 22 Apr 2024 17:26:09 +0000</pubDate>
		<guid isPermaLink="false">https://codersee.com/?p=9008217#comment-95</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/#comment-94&quot;&gt;Laura&lt;/a&gt;.

Hey Laura! :) 

There are multiple ways we can achieve that, for example:

1. 1st can be simple- we can add @Profile annotation to our security beans and specify environments for which we can them to be instantiated. Or, alternatively add some boolean flag and combine with @Conditional (and set this flag in application.properties)
2. @AutoConfigureMockMvc(addFilters = false) (may depend on how you&#039;re testing)

Let me know if this helped :)]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/#comment-94">Laura</a>.</p>
<p>Hey Laura! 🙂 </p>
<p>There are multiple ways we can achieve that, for example:</p>
<p>1. 1st can be simple- we can add @Profile annotation to our security beans and specify environments for which we can them to be instantiated. Or, alternatively add some boolean flag and combine with @Conditional (and set this flag in application.properties)<br />
2. @AutoConfigureMockMvc(addFilters = false) (may depend on how you&#8217;re testing)</p>
<p>Let me know if this helped 🙂</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Laura		</title>
		<link>https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/#comment-94</link>

		<dc:creator><![CDATA[Laura]]></dc:creator>
		<pubDate>Wed, 17 Apr 2024 10:19:08 +0000</pubDate>
		<guid isPermaLink="false">https://codersee.com/?p=9008217#comment-94</guid>

					<description><![CDATA[How can I disable the security to implement the controller tests?]]></description>
			<content:encoded><![CDATA[<p>How can I disable the security to implement the controller tests?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: leewa		</title>
		<link>https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/#comment-93</link>

		<dc:creator><![CDATA[leewa]]></dc:creator>
		<pubDate>Wed, 27 Mar 2024 18:59:38 +0000</pubDate>
		<guid isPermaLink="false">https://codersee.com/?p=9008217#comment-93</guid>

					<description><![CDATA[Your document is very easy to read and understand. It saved my life. Thank you for sharing.
Could you share how to log out?]]></description>
			<content:encoded><![CDATA[<p>Your document is very easy to read and understand. It saved my life. Thank you for sharing.<br />
Could you share how to log out?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: duy_tran		</title>
		<link>https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/#comment-92</link>

		<dc:creator><![CDATA[duy_tran]]></dc:creator>
		<pubDate>Mon, 12 Feb 2024 04:22:32 +0000</pubDate>
		<guid isPermaLink="false">https://codersee.com/?p=9008217#comment-92</guid>

					<description><![CDATA[Very details, thanks a lot.]]></description>
			<content:encoded><![CDATA[<p>Very details, thanks a lot.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Piotr		</title>
		<link>https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/#comment-91</link>

		<dc:creator><![CDATA[Piotr]]></dc:creator>
		<pubDate>Thu, 26 Oct 2023 16:14:34 +0000</pubDate>
		<guid isPermaLink="false">https://codersee.com/?p=9008217#comment-91</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/#comment-90&quot;&gt;Thomas J. Holmes Jr.&lt;/a&gt;.

Hey Thomas! 

I totally agree with your point, &quot;rule 1 of auth is don&#039;t write your own auth&quot;. And all the points and examples you specified are really fair points. 

I&#039;ve seen a few debates on this topic and usually it all comes to how much control you would like to have over the process. On one side we have those who always prefer to delegate this to external tools/services, which takes a lot of responsibility of your shoulders, but also costs $$. On the other side, we have those who choose for some reason to have more control over the process, which also costs $$, but in their time. 

I wouldn&#039;t say there&#039;s always a clear winner here, but oftentimes relying on Okta/OAuth0 may be a good choice. 

Also, I&#039;d add Keycloak to the list, which may be a cheaper alternative to Okta.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/#comment-90">Thomas J. Holmes Jr.</a>.</p>
<p>Hey Thomas! </p>
<p>I totally agree with your point, &#8220;rule 1 of auth is don&#8217;t write your own auth&#8221;. And all the points and examples you specified are really fair points. </p>
<p>I&#8217;ve seen a few debates on this topic and usually it all comes to how much control you would like to have over the process. On one side we have those who always prefer to delegate this to external tools/services, which takes a lot of responsibility of your shoulders, but also costs $$. On the other side, we have those who choose for some reason to have more control over the process, which also costs $$, but in their time. </p>
<p>I wouldn&#8217;t say there&#8217;s always a clear winner here, but oftentimes relying on Okta/OAuth0 may be a good choice. </p>
<p>Also, I&#8217;d add Keycloak to the list, which may be a cheaper alternative to Okta.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Thomas J. Holmes Jr.		</title>
		<link>https://blog.codersee.com/spring-boot-3-spring-security-6-with-kotlin-jwt/#comment-90</link>

		<dc:creator><![CDATA[Thomas J. Holmes Jr.]]></dc:creator>
		<pubDate>Thu, 26 Oct 2023 15:24:06 +0000</pubDate>
		<guid isPermaLink="false">https://codersee.com/?p=9008217#comment-90</guid>

					<description><![CDATA[First, I would recommend for any application, use Auth0 as a User Repository.  This is usually free for developers playing around with an outside Authentication service.   Second, I would have the UI use the Auth0/Okta or some other API do the Authentication.    This way you are passing the username/password credentials to another source, and they are responsible for making the app secure.   You&#039;re app therefore has no exposure to those credentials.   The UI will get back a token response (JWT) and yes, that can be sent back to the back-end API&#039;s for Authorization.
Both Users/Roles can be stored in an Authentication Service, and that way you don&#039;t have to worry about saving usernames or passwords in your application database.]]></description>
			<content:encoded><![CDATA[<p>First, I would recommend for any application, use Auth0 as a User Repository.  This is usually free for developers playing around with an outside Authentication service.   Second, I would have the UI use the Auth0/Okta or some other API do the Authentication.    This way you are passing the username/password credentials to another source, and they are responsible for making the app secure.   You&#8217;re app therefore has no exposure to those credentials.   The UI will get back a token response (JWT) and yes, that can be sent back to the back-end API&#8217;s for Authorization.<br />
Both Users/Roles can be stored in an Authentication Service, and that way you don&#8217;t have to worry about saving usernames or passwords in your application database.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 

Served from: blog.codersee.com @ 2026-04-20 13:28:23 by W3 Total Cache
-->