Add metadata of a SAML attribute authority.
public addAttributeAuthority ( array $metadata ) | ||
$metadata | array | The AttributeAuthorityDescriptor, in the format returned by SimpleSAML_Metadata_SAMLParser. |
} $metaArray['NameIDFormat'] = array(SAML2_Const::NAMEID_PERSISTENT, SAML2_Const::NAMEID_TRANSIENT); if ($aameta->hasValue('OrganizationName')) { $metaArray['OrganizationName'] = $aameta->getLocalizedString('OrganizationName'); $metaArray['OrganizationDisplayName'] = $aameta->getLocalizedString('OrganizationDisplayName', $metaArray['OrganizationName']); if (!$aameta->hasValue('OrganizationURL')) { throw new SimpleSAML_Error_Exception('If OrganizationName is set, OrganizationURL must also be set.'); } $metaArray['OrganizationURL'] = $aameta->getLocalizedString('OrganizationURL'); } if ($aameta->hasValue('scope')) { $metaArray['scope'] = $aameta->getArray('scope'); } $metaflat = '$metadata[' . var_export($aaentityid, true) . '] = ' . var_export($metaArray, true) . ';'; $metaBuilder = new SimpleSAML_Metadata_SAMLBuilder($aaentityid); $metaBuilder->addAttributeAuthority($metaArray); $metaBuilder->addOrganizationInfo($metaArray); $technicalContactEmail = $config->getString('technicalcontact_email', null); $technicalContactName = $config->getString('technicalcontact_name', null); if ($technicalContactEmail and $technicalContactEmail !== '*****@*****.**') { $metaBuilder->addContact('technical', array('contactType' => 'technical', 'emailAddress' => $technicalContactEmail, 'name' => $technicalContactName)); } $metaxml = $metaBuilder->getEntityDescriptorText(); /* Sign the metadata if enabled. */ $metaxml = SimpleSAML_Metadata_Signer::sign($metaxml, $aameta->toArray(), 'SAML 2 IdP'); if (array_key_exists('output', $_GET) && $_GET['output'] == 'xhtml') { $defaultaa = null; $t = new SimpleSAML_XHTML_Template($config, 'metadata.php', 'admin'); $t->data['header'] = 'saml20-aa'; $t->data['metaurl'] = SimpleSAML_Utilities::selfURLNoQuery(); $t->data['metadata'] = htmlspecialchars($metaxml);