Skip to content

Commit d0c6537

Browse files
Change after feedback
Signed-off-by: gabriel-farache <[email protected]>
1 parent 75ce9bc commit d0c6537

File tree

4 files changed

+18
-22
lines changed

4 files changed

+18
-22
lines changed

client/oidc/src/main/java/io/quarkiverse/openapi/generator/oidc/ClassicOidcClientRequestFilterDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import jakarta.ws.rs.client.ClientRequestContext;
99
import jakarta.ws.rs.client.ClientRequestFilter;
1010

11+
import jakarta.ws.rs.core.HttpHeaders;
1112
import org.jboss.logging.Logger;
1213

1314
import io.quarkiverse.openapi.generator.OidcClient;
@@ -41,7 +42,7 @@ protected java.util.Optional<String> clientId() {
4142
public void filter(ClientRequestContext requestContext) throws IOException {
4243
try {
4344
String accessToken = this.getAccessToken();
44-
requestContext.getHeaders().add("Authorization", "Bearer " + accessToken);
45+
requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken);
4546
} catch (DisabledOidcClientException ex) {
4647
LOG.debug("Client is disabled, acquiring and propagating the token is not necessary");
4748
} catch (RuntimeException ex) {

client/oidc/src/main/java/io/quarkiverse/openapi/generator/oidc/providers/OAuth2AuthenticationProvider.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
import java.io.IOException;
66
import java.util.List;
77

8+
import io.quarkus.oidc.common.runtime.OidcConstants;
89
import jakarta.ws.rs.client.ClientRequestContext;
910

11+
import jakarta.ws.rs.core.HttpHeaders;
1012
import org.slf4j.Logger;
1113
import org.slf4j.LoggerFactory;
1214

@@ -29,7 +31,14 @@ public OAuth2AuthenticationProvider(String name,
2931

3032
@Override
3133
public void filter(ClientRequestContext requestContext) throws IOException {
32-
getCredentialsProvider().setOauth2BearerToken(requestContext, getOpenApiSpecId(), getName(), delegate::filter);
34+
if (this.isTokenPropagation()) {
35+
String bearerToken = this.getTokenForPropagation(requestContext.getHeaders());
36+
requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION,
37+
OidcConstants.BEARER_SCHEME + " " + AbstractAuthProvider.sanitizeBearerToken(bearerToken));
38+
} else {
39+
delegate.filter(requestContext);
40+
}
41+
this.getCredentialsProvider().setOauth2BearerToken(requestContext, requestContext.getHeaderString(HttpHeaders.AUTHORIZATION));
3342
}
3443

3544
private void validateConfig() {

client/runtime/src/main/java/io/quarkiverse/openapi/generator/providers/ConfigCredentialsProvider.java

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -69,21 +69,8 @@ public String getBearerToken(ClientRequestContext requestContext, String openApi
6969
}
7070

7171
@Override
72-
public void setOauth2BearerToken(ClientRequestContext requestContext, String openApiSpecId, String authName,
73-
ThrowingConsumer<ClientRequestContext, IOException> filter) throws IOException {
74-
if (AbstractAuthProvider.isTokenPropagation(openApiSpecId, authName)) {
75-
String bearerToken = AbstractAuthProvider.getTokenForPropagation(requestContext.getHeaders(), openApiSpecId,
76-
authName);
77-
requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION,
78-
OidcConstants.BEARER_SCHEME + " " + AbstractAuthProvider.sanitizeBearerToken(bearerToken));
79-
} else {
80-
filter.accept(requestContext);
81-
}
82-
}
83-
84-
@FunctionalInterface
85-
public interface ThrowingConsumer<T, E extends Exception> {
86-
void accept(T t) throws E;
72+
public void setOauth2BearerToken(ClientRequestContext requestContext, String accessToken) {
73+
// no need to do anything as the base OAuth2AuthenticationProvider class already sets the access token in the context
8774
}
8875

8976
}

client/runtime/src/main/java/io/quarkiverse/openapi/generator/providers/CredentialsProvider.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,10 @@ public interface CredentialsProvider {
4848
String getBearerToken(ClientRequestContext requestContext, String openApiSpecId, String authName);
4949

5050
/**
51-
* Gets the Bearer Token given the OpenAPI definition and security schema
51+
* Sets the Access Token in the request context
5252
*
53-
* @param openApiSpecId the OpenAPI Spec identification as defined by the OpenAPI Extension
54-
* @param authName The security schema for this Bearer Token definition
53+
* @param requestContext The current request context in which set the authorization header token
54+
* @param accessToken The accessToken to use, contains Bearer string
5555
*/
56-
void setOauth2BearerToken(ClientRequestContext requestContext, String openApiSpecId, String authName,
57-
ConfigCredentialsProvider.ThrowingConsumer<ClientRequestContext, IOException> filter) throws IOException;
56+
void setOauth2BearerToken(ClientRequestContext requestContext, String accessToken);
5857
}

0 commit comments

Comments
 (0)