Skip to content

Commit 8483233

Browse files
gabriel-faracheGabriel Farache
authored andcommitted
Use get token instead of set
1 parent a276dfa commit 8483233

File tree

3 files changed

+17
-13
lines changed

3 files changed

+17
-13
lines changed

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

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
import org.slf4j.LoggerFactory;
1313

1414
import io.quarkiverse.openapi.generator.providers.AbstractAuthProvider;
15+
import io.quarkiverse.openapi.generator.providers.AuthUtils;
1516
import io.quarkiverse.openapi.generator.providers.ConfigCredentialsProvider;
1617
import io.quarkiverse.openapi.generator.providers.OperationAuthInfo;
17-
import io.quarkus.oidc.common.runtime.OidcConstants;
1818

1919
public class OAuth2AuthenticationProvider extends AbstractAuthProvider {
2020

@@ -31,15 +31,20 @@ public OAuth2AuthenticationProvider(String name,
3131

3232
@Override
3333
public void filter(ClientRequestContext requestContext) throws IOException {
34+
String bearerToken;
35+
3436
if (this.isTokenPropagation()) {
35-
String bearerToken = this.getTokenForPropagation(requestContext.getHeaders());
36-
requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION,
37-
OidcConstants.BEARER_SCHEME + " " + AbstractAuthProvider.sanitizeBearerToken(bearerToken));
37+
bearerToken = this.getTokenForPropagation(requestContext.getHeaders());
3838
} else {
3939
delegate.filter(requestContext);
40+
bearerToken = this.getCredentialsProvider().getOauth2BearerToken(requestContext, this.getOpenApiSpecId(),
41+
this.getName());
42+
}
43+
44+
if (bearerToken != null && !bearerToken.isBlank()) {
45+
requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION,
46+
AuthUtils.authTokenOrBearer("Bearer", AbstractAuthProvider.sanitizeBearerToken(bearerToken)));
4047
}
41-
this.getCredentialsProvider().setOauth2BearerToken(requestContext,
42-
requestContext.getHeaderString(HttpHeaders.AUTHORIZATION), this.getOpenApiSpecId(), this.getName());
4348
}
4449

4550
private void validateConfig() {

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import jakarta.enterprise.context.Dependent;
55
import jakarta.enterprise.inject.Alternative;
66
import jakarta.ws.rs.client.ClientRequestContext;
7+
import jakarta.ws.rs.core.HttpHeaders;
78

89
import org.eclipse.microprofile.config.ConfigProvider;
910
import org.slf4j.Logger;
@@ -64,9 +65,7 @@ public String getBearerToken(ClientRequestContext requestContext, String openApi
6465
}
6566

6667
@Override
67-
public void setOauth2BearerToken(ClientRequestContext requestContext, String accessToken, String openApiSpecId,
68-
String authName) {
69-
// no need to do anything as the base OAuth2AuthenticationProvider class already sets the access token in the context
68+
public String getOauth2BearerToken(ClientRequestContext requestContext, String openApiSpecId, String authName) {
69+
return requestContext.getHeaderString(HttpHeaders.AUTHORIZATION);
7070
}
71-
7271
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ public interface CredentialsProvider {
4646
String getBearerToken(ClientRequestContext requestContext, String openApiSpecId, String authName);
4747

4848
/**
49-
* Sets the Access Token in the request context
49+
* Gets the OAuth2 Bearer Token given the OpenAPI definition and security schema
5050
*
5151
* @param requestContext The current request context in which set the authorization header token
52-
* @param accessToken The accessToken to use, contains Bearer string
5352
* @param openApiSpecId the OpenAPI Spec identification as defined by the OpenAPI Extension
5453
* @param authName The security schema for this Bearer Token definition
54+
* @return the Bearer Token to use when filtering the request
5555
*/
56-
void setOauth2BearerToken(ClientRequestContext requestContext, String accessToken, String openApiSpecId, String authName);
56+
String getOauth2BearerToken(ClientRequestContext requestContext, String openApiSpecId, String authName);
5757
}

0 commit comments

Comments
 (0)