Skip to content

Commit 9514076

Browse files
committed
Add a mapping with only the default values of Auth and Cors
1 parent c31de20 commit 9514076

File tree

5 files changed

+50
-12
lines changed

5 files changed

+50
-12
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package io.quarkus.vertx.http.runtime;
2+
3+
import java.util.Map;
4+
5+
import io.quarkus.runtime.annotations.ConfigDocIgnore;
6+
import io.quarkus.runtime.annotations.ConfigPhase;
7+
import io.quarkus.runtime.annotations.ConfigRoot;
8+
import io.quarkus.vertx.http.runtime.cors.CORSConfig;
9+
import io.smallrye.config.ConfigMapping;
10+
import io.smallrye.config.WithDefaults;
11+
import io.smallrye.config.WithParentName;
12+
import io.smallrye.config.WithUnnamedKey;
13+
14+
/**
15+
* Mapping for Quarkus Security fluent API defaults
16+
*/
17+
@ConfigMapping(prefix = "quarkus.http")
18+
@ConfigRoot(phase = ConfigPhase.RUN_TIME)
19+
public interface DefaultAuthConfig {
20+
@WithParentName
21+
@ConfigDocIgnore
22+
Defaults defaults();
23+
24+
default AuthRuntimeConfig auth() {
25+
return defaults().auth().get("defaults");
26+
}
27+
28+
default CORSConfig cors() {
29+
return defaults().cors().get("defaults");
30+
}
31+
32+
interface Defaults {
33+
@WithUnnamedKey
34+
@WithDefaults
35+
Map<String, AuthRuntimeConfig> auth();
36+
37+
@WithUnnamedKey
38+
@WithDefaults
39+
Map<String, CORSConfig> cors();
40+
}
41+
}

extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/security/HttpSecurityImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public HttpSecurity cors(CORS cors) {
105105
public HttpSecurity mechanism(HttpAuthenticationMechanism mechanism) {
106106
Objects.requireNonNull(mechanism);
107107
if (mechanism.getClass() == FormAuthenticationMechanism.class) {
108-
final FormAuthConfig defaults = HttpSecurityUtils.getDefaultVertxHttpConfig().auth().form();
108+
final FormAuthConfig defaults = HttpSecurityUtils.getDefaultAuthConfig().auth().form();
109109
final FormAuthConfig actualConfig = vertxHttpConfig.auth().form();
110110
if (!actualConfig.equals(defaults)) {
111111
throw new IllegalArgumentException("Cannot configure form-based authentication programmatically "

extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/security/HttpSecurityUtils.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@
77
import javax.naming.ldap.Rdn;
88
import javax.security.auth.x500.X500Principal;
99

10+
import org.eclipse.microprofile.config.ConfigProvider;
11+
1012
import io.quarkus.security.AuthenticationFailedException;
1113
import io.quarkus.security.identity.SecurityIdentity;
1214
import io.quarkus.security.identity.request.AuthenticationRequest;
13-
import io.quarkus.vertx.http.runtime.VertxHttpConfig;
14-
import io.smallrye.config.SmallRyeConfigBuilder;
15+
import io.quarkus.vertx.http.runtime.DefaultAuthConfig;
16+
import io.smallrye.config.SmallRyeConfig;
1517
import io.vertx.ext.web.RoutingContext;
1618

1719
public final class HttpSecurityUtils {
@@ -110,12 +112,7 @@ public static AuthenticationFailedException getAuthenticationFailureFromEvent(Ro
110112
return null;
111113
}
112114

113-
public static VertxHttpConfig getDefaultVertxHttpConfig() {
114-
return new SmallRyeConfigBuilder()
115-
.addDiscoveredConverters()
116-
.withDefaultValue("quarkus.http.host", "8081")
117-
.withMapping(VertxHttpConfig.class)
118-
.build()
119-
.getConfigMapping(VertxHttpConfig.class);
115+
public static DefaultAuthConfig getDefaultAuthConfig() {
116+
return ConfigProvider.getConfig().unwrap(SmallRyeConfig.class).getConfigMapping(DefaultAuthConfig.class);
120117
}
121118
}

extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/security/CORS.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ final class Builder {
4949
private Optional<List<String>> origins;
5050

5151
public Builder() {
52-
this(HttpSecurityUtils.getDefaultVertxHttpConfig().cors());
52+
this(HttpSecurityUtils.getDefaultAuthConfig().cors());
5353
}
5454

5555
public Builder(CORSConfig corsConfig) {

extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/security/MTLS.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ private MTLSConfig(Function<X509Certificate, Set<String>> certificateToRoles, Cl
312312
* @return default value as hardcoded in the {@link AuthRuntimeConfig} mapping.
313313
*/
314314
private static String getDefaultCertificateAttributeValue() {
315-
return HttpSecurityUtils.getDefaultVertxHttpConfig().auth().certificateRoleAttribute();
315+
return HttpSecurityUtils.getDefaultAuthConfig().auth().certificateRoleAttribute();
316316
}
317317
}
318318

0 commit comments

Comments
 (0)