fix: Fixed the issue the Spring Boot application cannot run when other GuidCreators are defined as beans

Added Quilifier to jtiCreator
This commit is contained in:
Zihlu Wang
2024-02-24 03:00:35 +08:00
parent 5375d00be5
commit fb3c2ba8ca
3 changed files with 5 additions and 3 deletions
@@ -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;
@@ -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;
@@ -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;
}