Skip to content

Commit bdeddf3

Browse files
committed
enforced https for jwks and token endpoints from oidc config
1 parent 7e2de0e commit bdeddf3

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/client/oidc/OidcClientJersey.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,12 @@ public DecodedJWT getAccessTokenDecoded(OidcConfiguration configuration, Jwks jw
144144
"OIDC provider does not support Client Credentials Grant, supported grant types: "
145145
+ configuration.grantTypesSupported());
146146

147-
Response response = client.target(configuration.tokenEndpoint()).request(MediaType.APPLICATION_JSON_TYPE)
147+
String tokenEndpoint = configuration.tokenEndpoint();
148+
if (tokenEndpoint == null || !tokenEndpoint.startsWith("https://"))
149+
throw new OidcClientException(
150+
"Token endpoint URL from OIDC configuration resource is null or does not start with 'https://'");
151+
152+
Response response = client.target(tokenEndpoint).request(MediaType.APPLICATION_JSON_TYPE)
148153
.header(HttpHeaders.AUTHORIZATION,
149154
"Basic " + Base64.getEncoder()
150155
.encodeToString(new StringBuilder().append(clientId).append(':').append(clientSecret)

dsf-common/dsf-common-oidc/src/main/java/dev/dsf/common/oidc/BaseOidcClientJersey.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,12 @@ public Jwks getJwks(OidcConfiguration configuration) throws OidcClientException
167167
{
168168
Objects.requireNonNull(configuration, "configuration");
169169

170-
Response response = client.target(configuration.jwksUri()).request(MediaType.APPLICATION_JSON_TYPE).get();
170+
String jwksUri = configuration.jwksUri();
171+
if (jwksUri == null || !jwksUri.startsWith("https://"))
172+
throw new OidcClientException(
173+
"JWKS URL from OIDC configuration resource is null or does not start with 'https://'");
174+
175+
Response response = client.target(jwksUri).request(MediaType.APPLICATION_JSON_TYPE).get();
171176

172177
if (response.getStatus() == Status.OK.getStatusCode())
173178
{

0 commit comments

Comments
 (0)