From fb3c2ba8ca8251804a91fb5ae970bdb5a2b1d286 Mon Sep 17 00:00:00 2001 From: Zihlu Wang Date: Sat, 24 Feb 2024 03:00:35 +0800 Subject: [PATCH] fix: Fixed the issue the Spring Boot application cannot run when other GuidCreators are defined as beans Added Quilifier to jtiCreator --- .../AuthzeroTokenResolverAutoConfiguration.java | 3 ++- .../simplejwt/autoconfiguration/GuidAutoConfiguration.java | 2 +- .../autoconfiguration/JjwtTokenResolverAutoConfiguration.java | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/simple-jwt-spring-boot-starter/src/main/java/cn/org/codecrafters/simplejwt/autoconfiguration/AuthzeroTokenResolverAutoConfiguration.java b/simple-jwt-spring-boot-starter/src/main/java/cn/org/codecrafters/simplejwt/autoconfiguration/AuthzeroTokenResolverAutoConfiguration.java index 504c575..8e0c46b 100644 --- a/simple-jwt-spring-boot-starter/src/main/java/cn/org/codecrafters/simplejwt/autoconfiguration/AuthzeroTokenResolverAutoConfiguration.java +++ b/simple-jwt-spring-boot-starter/src/main/java/cn/org/codecrafters/simplejwt/autoconfiguration/AuthzeroTokenResolverAutoConfiguration.java @@ -25,6 +25,7 @@ import com.auth0.jwt.interfaces.DecodedJWT; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -85,7 +86,7 @@ public class AuthzeroTokenResolverAutoConfiguration { * @param objectMapper Jackson JSON Handler */ @Autowired - public AuthzeroTokenResolverAutoConfiguration(SimpleJwtProperties simpleJwtProperties, GuidCreator jtiCreator, ObjectMapper objectMapper) { + public AuthzeroTokenResolverAutoConfiguration(SimpleJwtProperties simpleJwtProperties, @Qualifier("jtiCreator") GuidCreator jtiCreator, ObjectMapper objectMapper) { this.jtiCreator = jtiCreator; this.simpleJwtProperties = simpleJwtProperties; this.objectMapper = objectMapper; diff --git a/simple-jwt-spring-boot-starter/src/main/java/cn/org/codecrafters/simplejwt/autoconfiguration/GuidAutoConfiguration.java b/simple-jwt-spring-boot-starter/src/main/java/cn/org/codecrafters/simplejwt/autoconfiguration/GuidAutoConfiguration.java index a4d452c..755369c 100644 --- a/simple-jwt-spring-boot-starter/src/main/java/cn/org/codecrafters/simplejwt/autoconfiguration/GuidAutoConfiguration.java +++ b/simple-jwt-spring-boot-starter/src/main/java/cn/org/codecrafters/simplejwt/autoconfiguration/GuidAutoConfiguration.java @@ -39,7 +39,7 @@ import java.util.UUID; @AutoConfiguration public class GuidAutoConfiguration { - @Bean + @Bean(name = "jtiCreator") @Conditional(GuidCreatorCondition.class) public GuidCreator jtiCreator() { return UUID::randomUUID; diff --git a/simple-jwt-spring-boot-starter/src/main/java/cn/org/codecrafters/simplejwt/autoconfiguration/JjwtTokenResolverAutoConfiguration.java b/simple-jwt-spring-boot-starter/src/main/java/cn/org/codecrafters/simplejwt/autoconfiguration/JjwtTokenResolverAutoConfiguration.java index 26cfc87..9e18fcf 100644 --- a/simple-jwt-spring-boot-starter/src/main/java/cn/org/codecrafters/simplejwt/autoconfiguration/JjwtTokenResolverAutoConfiguration.java +++ b/simple-jwt-spring-boot-starter/src/main/java/cn/org/codecrafters/simplejwt/autoconfiguration/JjwtTokenResolverAutoConfiguration.java @@ -25,6 +25,7 @@ import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jws; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -82,7 +83,7 @@ public class JjwtTokenResolverAutoConfiguration { * @param simpleJwtProperties the SimpleJwtProperties instance */ @Autowired - public JjwtTokenResolverAutoConfiguration(SimpleJwtProperties simpleJwtProperties, GuidCreator jtiCreator) { + public JjwtTokenResolverAutoConfiguration(SimpleJwtProperties simpleJwtProperties, @Qualifier("jtiCreator") GuidCreator jtiCreator) { this.jtiCreator = jtiCreator; this.simpleJwtProperties = simpleJwtProperties; }