You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're currently using 4.20 but found that the issue exists in the latest code base as well.
What did you do?
We're attempting to update an existing active identity provider whose metadataurl no longer points to a valid URL.
Ex:
create a SAML identity provider with a valid metadataurl
take the metadata provider offline (existing definition now has an invalid metadata url)
use the UAA end point to update the identity provider and provide a new valid metadata url.
This fails b/c of SamlIdentityProviderConfiguration -> validateSamlIdentityProviderDefinition
When it's validating the new properties of the definitions, it actually tries to go and get existing IdentityProviders for that identity zone and calls getExtendedMetadataDelegate on every existing provider (including the existing one that we already know doesn't have a valid metadataurl). downstream that throws an exception unable to fetch metadata and we're not able to update the provider.
@strehle appreciate the response; unfortunately I'm stuck on v4.20 for the time being (sorry for posting issues on dated environments, I know that' frustrating); we'll try to upgrade soon and see if it resolves any of the issues we were seeing. if getExtendedMetadataDelegate() is failsafe in newer versions, it should be fine; but looking at the source code, calling that when a tenant has any invalid metadatasaml configs (even when the IDP is disabled) will throw the exception.
It has to do with how it was validating the entity id being unique for the tenant when updating an IDP saml config. (it goes and gets every one for the tenant to compare (enabled or not) and in that process it tries to reach out for every one of the IDPs metadata given its given configured URL, which when that url isn't valid anymore, throws an exception.
What version of UAA are you running?
We're currently using 4.20 but found that the issue exists in the latest code base as well.
What did you do?
We're attempting to update an existing active identity provider whose metadataurl no longer points to a valid URL.
Ex:
This fails b/c of SamlIdentityProviderConfiguration -> validateSamlIdentityProviderDefinition
When it's validating the new properties of the definitions, it actually tries to go and get existing IdentityProviders for that identity zone and calls getExtendedMetadataDelegate on every existing provider (including the existing one that we already know doesn't have a valid metadataurl). downstream that throws an exception unable to fetch metadata and we're not able to update the provider.
for (SamlIdentityProviderDefinition existing : getIdentityProviderDefinitions()) {
ConfigMetadataProvider existingProvider = (ConfigMetadataProvider) getExtendedMetadataDelegate(existing).getDelegate();
if (entityIDToBeAdded.equals(existingProvider.getEntityID()) &&
!(existing.getUniqueAlias().equals(clone.getUniqueAlias()))) {
entityIDexists = true;
break;
}
}
What did you expect to see? What goal are you trying to achieve with the UAA?
I should be able to update an existing IdentityProvider and give it a new valid metadataurl after the current one is no longer valid.
What did you see instead?
It threw an exception unable to fetch metadata
Please include UAA logs if available.
The text was updated successfully, but these errors were encountered: