diff --git a/server/src/test/java/org/cloudfoundry/identity/uaa/provider/oauth/ExternalOAuthProviderConfiguratorTests.java b/server/src/test/java/org/cloudfoundry/identity/uaa/provider/oauth/ExternalOAuthProviderConfiguratorTests.java index 9f0c8c8af50..4813de40422 100644 --- a/server/src/test/java/org/cloudfoundry/identity/uaa/provider/oauth/ExternalOAuthProviderConfiguratorTests.java +++ b/server/src/test/java/org/cloudfoundry/identity/uaa/provider/oauth/ExternalOAuthProviderConfiguratorTests.java @@ -89,6 +89,7 @@ void setup() throws MalformedURLException { def.setRelyingPartySecret("clientSecret"); } oidc.setResponseType("id_token code"); + oidc.setAdditionalAuthzParameters(Map.of("token_format", "jwt")); oauth.setResponseType("code"); configurator = spy(new ExternalOAuthProviderConfigurator( @@ -108,6 +109,7 @@ void setup() throws MalformedURLException { config.setResponseType("id_token"); config.setScopes(List.of("openid", "cloud_controller.read")); + oidcProvider = new IdentityProvider<>(); oidcProvider.setType(OIDC10); oidcProvider.setConfig(config); @@ -330,4 +332,13 @@ void excludeUnreachableOidcProvider() throws OidcMetadataFetchingException { assertEquals(oauthProvider.getName(), providers.get(0).getName()); verify(configurator, times(1)).overlay(eq(config)); } + + @Test + void testGetIdpAuthenticationUrlAndCheckTokenFormatParameter() { + String authzUri = configurator.getIdpAuthenticationUrl(oidc, OIDC10, mockHttpServletRequest); + + Map queryParams = + UriComponentsBuilder.fromUriString(authzUri).build().getQueryParams().toSingleValueMap(); + assertThat(queryParams, hasEntry("token_format", "jwt")); + } }