diff --git a/server/src/main/java/org/cloudfoundry/identity/uaa/provider/oauth/OauthIDPWrapperFactoryBean.java b/server/src/main/java/org/cloudfoundry/identity/uaa/provider/oauth/OauthIDPWrapperFactoryBean.java index 5e2575289ae..0fcb665f27f 100644 --- a/server/src/main/java/org/cloudfoundry/identity/uaa/provider/oauth/OauthIDPWrapperFactoryBean.java +++ b/server/src/main/java/org/cloudfoundry/identity/uaa/provider/oauth/OauthIDPWrapperFactoryBean.java @@ -148,6 +148,7 @@ protected void setCommonProperties(Map idpDefinitionMap, Abstrac idpDefinition.setTokenKey((String) idpDefinitionMap.get("tokenKey")); idpDefinition.setIssuer((String) idpDefinitionMap.get("issuer")); idpDefinition.setAttributeMappings((Map) idpDefinitionMap.get(ATTRIBUTE_MAPPINGS)); + idpDefinition.setAdditionalConfiguration((Map) idpDefinitionMap.get("additionalConfiguration")); idpDefinition.setScopes((List) idpDefinitionMap.get("scopes")); idpDefinition.setUserPropagationParameter((String) idpDefinitionMap.get("userPropagationParameter")); idpDefinition.setGroupMappingMode(parseExternalGroupMappingMode(idpDefinitionMap.get("groupMappingMode"))); diff --git a/server/src/test/java/org/cloudfoundry/identity/uaa/provider/oauth/OauthIdentityProviderDefinitionFactoryBeanTest.java b/server/src/test/java/org/cloudfoundry/identity/uaa/provider/oauth/OauthIdentityProviderDefinitionFactoryBeanTest.java index 9b154059ed6..467597afc7d 100644 --- a/server/src/test/java/org/cloudfoundry/identity/uaa/provider/oauth/OauthIdentityProviderDefinitionFactoryBeanTest.java +++ b/server/src/test/java/org/cloudfoundry/identity/uaa/provider/oauth/OauthIdentityProviderDefinitionFactoryBeanTest.java @@ -119,6 +119,22 @@ void external_group_mapping_default_in_body() { assertThat(providerDefinition.getGroupMappingMode()).isNull(); } + @Test + void additionalConfigurationIsMapped() { + Map additionalConfiguration = map( + entry("origin_override", map(entry("uaa", "uaa"))) + ); + idpDefinitionMap.put("additionalConfiguration", additionalConfiguration); + factoryBean.setCommonProperties(idpDefinitionMap, providerDefinition); + assertThat(providerDefinition.getAdditionalConfiguration()).containsExactlyInAnyOrderEntriesOf(additionalConfiguration); + } + + @Test + void additionalConfigurationIsNullWhenNotProvided() { + factoryBean.setCommonProperties(idpDefinitionMap, providerDefinition); + assertThat(providerDefinition.getAdditionalConfiguration()).isNull(); + } + @Test void jwtClientAuthenticationTrue() { Map definitions = new HashMap<>();