Stop Rewriting JWT Code for Every Spring Boot Project

Every time I started a new Spring Boot project, I found myself writing the same JWT authentication setup over and over again. Configure Spring Security, set up token generation, validation, blacklisting.

So, I built JWT Spring Boot Starter to handle it automatically.

What It Does

This starter takes care of JWT authentication so you don’t have to. Just add the dependency, configure a few properties, and voila—you’re ready to go.

  • Token Generation & Validation: Automatically creates and verifies JWT tokens.

  • Token Blacklisting: Easily invalidate tokens with a built-in (and optionally replaceable) in-memory blacklist.

  • Custom Claims & Token Refresh: Supports adding custom claims and automatic token refresh logic.

Quick Start Guide

First, add the dependency in your pom.xml:

<span><dependency></span>
<span><groupId></span>io.github.seydoucisse<span></groupId></span>
<span><artifactId></span>jwt-spring-boot-starter<span></artifactId></span>
<span><version></span>0.1.0<span></version></span>
<span></dependency></span>
<span><dependency></span>
    <span><groupId></span>io.github.seydoucisse<span></groupId></span>
    <span><artifactId></span>jwt-spring-boot-starter<span></artifactId></span>
    <span><version></span>0.1.0<span></version></span>
<span></dependency></span>
<dependency> <groupId>io.github.seydoucisse</groupId> <artifactId>jwt-spring-boot-starter</artifactId> <version>0.1.0</version> </dependency>

Enter fullscreen mode Exit fullscreen mode

Then, configure your application.yml:

<span>jwt</span><span>:</span>
<span>secret</span><span>:</span> <span>your-very-secure-secret-key-that-is-64-characters</span>
<span>issuer</span><span>:</span> <span>your-app-name</span>
<span>jwt</span><span>:</span>
  <span>secret</span><span>:</span> <span>your-very-secure-secret-key-that-is-64-characters</span>
  <span>issuer</span><span>:</span> <span>your-app-name</span>
jwt: secret: your-very-secure-secret-key-that-is-64-characters issuer: your-app-name

Enter fullscreen mode Exit fullscreen mode

And finally, define your UserDetailsService:

<span>@Service</span>
<span>public</span> <span>class</span> <span>MyUserDetailsService</span> <span>implements</span> <span>UserDetailsService</span> <span>{</span>
<span>@Override</span>
<span>public</span> <span>UserDetails</span> <span>loadUserByUsername</span><span>(</span><span>String</span> <span>username</span><span>)</span> <span>throws</span> <span>UsernameNotFoundException</span> <span>{</span>
<span>// Add with your user lookup logic</span>
<span>}</span>
<span>}</span>
<span>@Service</span>
<span>public</span> <span>class</span> <span>MyUserDetailsService</span> <span>implements</span> <span>UserDetailsService</span> <span>{</span>
    <span>@Override</span>
    <span>public</span> <span>UserDetails</span> <span>loadUserByUsername</span><span>(</span><span>String</span> <span>username</span><span>)</span> <span>throws</span> <span>UsernameNotFoundException</span> <span>{</span>
        <span>// Add with your user lookup logic</span>
    <span>}</span>
<span>}</span>
@Service public class MyUserDetailsService implements UserDetailsService { @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { // Add with your user lookup logic } }

Enter fullscreen mode Exit fullscreen mode

That’s it! The starter handles token generation, validation, blacklisting, and integrates seamlessly with Spring Security.

Why Use It?

  • No need to write JWT auth from scratch
  • Works out of the box with Spring Security
  • Customizable token properties and security settings
  • Supports token blacklisting and refresh tokens

If you’re tired of rewriting the same jwt-based authentication in your Spring Boot app, give JWT Spring Boot Starter a shot!

Check it out the full documentation on jwt-spring-boot-starter.
Feel free to open an issue or submit a pull request.

原文链接:Stop Rewriting JWT Code for Every Spring Boot Project

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
Wish my smile clear off the sky, of all days.
微笑可以晴朗所有的天
评论 抢沙发

请登录后发表评论

    暂无评论内容