diff --git a/lib/IdPAccountManager/SAMLMetadata.pm b/lib/IdPAccountManager/SAMLMetadata.pm index 06e16fa8baabe0da038be28c579131d2625b0344..b7238f6fee27fc85a2915c372cef6d02858151cd 100644 --- a/lib/IdPAccountManager/SAMLMetadata.pm +++ b/lib/IdPAccountManager/SAMLMetadata.pm @@ -44,16 +44,12 @@ sub parse { @{ $self->{doc}->getElementsByLocalName('EntityDescriptor') }) { - my $data = {}; + my $id = $EntityDescriptor->getAttribute('entityID'); + next if $args{entity_id} && $args{entity_id} ne $id; - if ($EntityDescriptor->hasAttributes()) { - foreach my $attr ($EntityDescriptor->getAttribute('entityID')) { - $data->{entityid} = $attr; - } - } - - next if ($args{entity_id} - && ($args{entity_id} ne $data->{entityid})); + my $data = { + entityid => $id + }; foreach my $child ($EntityDescriptor->childNodes()) {