diff --git a/security-oauth2/build.gradle.kts b/security-oauth2/build.gradle.kts index 5195bda849..2f235e0fa2 100644 --- a/security-oauth2/build.gradle.kts +++ b/security-oauth2/build.gradle.kts @@ -30,4 +30,11 @@ dependencies { testImplementation(mnLogging.logback.classic) testImplementation(libs.system.stubs.core) testImplementation(mn.micronaut.retry) + + testAnnotationProcessor(mn.micronaut.inject.java) + testImplementation(mnTest.micronaut.test.junit5) + testRuntimeOnly(libs.junit.jupiter.engine) +} +tasks.withType { + useJUnitPlatform() } diff --git a/security-oauth2/src/main/java/io/micronaut/security/oauth2/client/JwksUriSignatureFactory.java b/security-oauth2/src/main/java/io/micronaut/security/oauth2/client/JwksUriSignatureFactory.java index 9b0b8d158c..b75a56495a 100644 --- a/security-oauth2/src/main/java/io/micronaut/security/oauth2/client/JwksUriSignatureFactory.java +++ b/security-oauth2/src/main/java/io/micronaut/security/oauth2/client/JwksUriSignatureFactory.java @@ -15,15 +15,12 @@ */ package io.micronaut.security.oauth2.client; -import com.nimbusds.jose.jwk.JWKSet; import io.micronaut.context.BeanProvider; import io.micronaut.context.annotation.EachBean; import io.micronaut.context.annotation.Factory; import io.micronaut.context.annotation.Parameter; import io.micronaut.core.annotation.Internal; import io.micronaut.security.token.jwt.nimbus.ReactiveJwksSignature; -import io.micronaut.security.token.jwt.signature.jwks.JwkSetFetcher; -import io.micronaut.security.token.jwt.signature.jwks.JwkValidator; import io.micronaut.security.token.jwt.signature.jwks.JwksSignatureConfiguration; import io.micronaut.security.token.jwt.signature.jwks.JwksSignatureConfigurationProperties; @@ -36,19 +33,6 @@ @Factory @Internal public class JwksUriSignatureFactory { - /** - * @param jwksSignatureConfiguration JWKS Configuration - * @param jwkValidator JWK Validator - * @param jwkSetFetcher Json Web Key Set Fetcher - * @return a {@link ReactiveJwksSignature} for the {@link JwksSignatureConfiguration} - */ - @EachBean(JwksSignatureConfiguration.class) - public ReactiveJwksSignature createJwksUriSignature(@Parameter JwksSignatureConfiguration jwksSignatureConfiguration, - JwkValidator jwkValidator, - JwkSetFetcher jwkSetFetcher) { - return new ReactiveJwksSignature(jwksSignatureConfiguration, jwkValidator, jwkSetFetcher); - } - /** * @param openIdProviderMetadata The open id provider metadata * @return a {@link JwksSignatureConfiguration} pointed to the jwks_uri exposed via OpenID configuration diff --git a/security-oauth2/src/test/java/io/micronaut/security/oauth2/BeansOfTypeReactiveSignatureConfigurationTest.java b/security-oauth2/src/test/java/io/micronaut/security/oauth2/BeansOfTypeReactiveSignatureConfigurationTest.java new file mode 100644 index 0000000000..53ff7a7bc2 --- /dev/null +++ b/security-oauth2/src/test/java/io/micronaut/security/oauth2/BeansOfTypeReactiveSignatureConfigurationTest.java @@ -0,0 +1,24 @@ +package io.micronaut.security.oauth2; + +import com.nimbusds.jwt.SignedJWT; +import io.micronaut.context.annotation.Property; +import io.micronaut.security.token.jwt.signature.ReactiveSignatureConfiguration; +import io.micronaut.test.extensions.junit5.annotation.MicronautTest; +import jakarta.inject.Inject; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +@Property(name = "micronaut.security.token.jwt.signatures.jwks.google.url", value = "https://www.googleapis.com/oauth2/v3/certs") +@MicronautTest(startApplication = false) +class BeansOfTypeReactiveSignatureConfigurationTest { + @Inject + List> signatures; + + @Test + void testThereIsOnlyOneBeanOfTypeReactiveSignatureConfiguration() { + assertEquals(1, signatures.size()); + } +}