/** * If a metadata document for a Service Provider specified 'RequestedAttribute' elements, then we * add that as an ARP. * * @param array $parsedMetadata SAMLParser output * @return array SAMLParser output without 'attributes'. */ private function _applyRequestedAttributesAsArp(array $parsedMetadata) { if (!isset($parsedMetadata['attributes'])) { return $parsedMetadata; } $arpAttributes = $this->getAllowedArpAttributes(); $requestedAttributes = $this->denormalizeAttributes($parsedMetadata['attributes']); $arp = array(); foreach ($requestedAttributes as $requestedAttribute) { // Skip attributes not allowed in an ARP. if (!in_array($requestedAttribute, $arpAttributes)) { continue; } $arp[$requestedAttribute] = array('*'); } $this->_entityController->setArpAttributes($arp); unset($parsedMetadata['attributes']); return $parsedMetadata; }