Esempio n. 1
0
 /**
  * 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;
 }