Author: Olav Morken, UNINETT AS.
Exemple #1
0
}
$supported_protocols = array('urn:oasis:names:tc:SAML:1.1:protocol', SAML2_Const::NS_SAMLP);
$metaArray20['metadata-set'] = 'saml20-sp-remote';
$metaArray20['entityid'] = $entityId;
$metaBuilder = new SimpleSAML_Metadata_SAMLBuilder($entityId);
$metaBuilder->addMetadataSP20($metaArray20, $supported_protocols);
$metaBuilder->addOrganizationInfo($metaArray20);
if (!empty($contact)) {
    $metaBuilder->addContact('technical', $contact);
}
foreach ($contacts as $c) {
    $metaBuilder->addContact($c['contactType'], $c);
}
$xml = $metaBuilder->getEntityDescriptorText();
unset($metaArray20['attributes.required']);
unset($metaArray20['UIInfo']);
unset($metaArray20['metadata-set']);
unset($metaArray20['entityid']);
/* Sign the metadata if enabled. */
$xml = SimpleSAML_Metadata_Signer::sign($xml, $spconfig->toArray(), 'SAML 2 SP');
if (array_key_exists('output', $_REQUEST) && $_REQUEST['output'] == 'xhtml') {
    $t = new SimpleSAML_XHTML_Template($config, 'metadata.php', 'admin');
    $t->data['header'] = 'saml20-sp';
    $t->data['metadata'] = htmlspecialchars($xml);
    $t->data['metadataflat'] = '$metadata[' . var_export($entityId, TRUE) . '] = ' . var_export($metaArray20, TRUE) . ';';
    $t->data['metaurl'] = $source->getMetadataURL();
    $t->show();
} else {
    header('Content-Type: application/samlmetadata+xml');
    echo $xml;
}
 }
 $metaflat = '$metadata[' . var_export($idpentityid, true) . '] = ' . var_export($metaArray, true) . ';';
 $metaBuilder = new SimpleSAML_Metadata_SAMLBuilder($idpentityid);
 $metaBuilder->addSecurityTokenServiceType($metaArray);
 $metaBuilder->addOrganizationInfo($metaArray);
 $technicalContactEmail = $config->getString('technicalcontact_email', null);
 if ($technicalContactEmail && $technicalContactEmail !== '*****@*****.**') {
     $metaBuilder->addContact('technical', \SimpleSAML\Utils\Config\Metadata::getContact(array('emailAddress' => $technicalContactEmail, 'name' => $config->getString('technicalcontact_name', null), 'contactType' => 'technical')));
 }
 $output_xhtml = array_key_exists('output', $_GET) && $_GET['output'] == 'xhtml';
 $metaxml = $metaBuilder->getEntityDescriptorText($output_xhtml);
 if (!$output_xhtml) {
     $metaxml = str_replace("\n", '', $metaxml);
 }
 // sign the metadata if enabled
 $metaxml = SimpleSAML_Metadata_Signer::sign($metaxml, $idpmeta->toArray(), 'ADFS IdP');
 if ($output_xhtml) {
     $defaultidp = $config->getString('default-adfs-idp', null);
     $t = new SimpleSAML_XHTML_Template($config, 'metadata.php', 'admin');
     $t->data['clipboard.js'] = true;
     $t->data['available_certs'] = $availableCerts;
     $t->data['header'] = 'adfs-idp';
     // TODO: Replace with headerString in 2.0
     $t->data['headerString'] = $t->noop('metadata_adfs-idp');
     $t->data['metaurl'] = \SimpleSAML\Utils\HTTP::getSelfURLNoQuery();
     $t->data['metadata'] = htmlspecialchars($metaxml);
     $t->data['metadataflat'] = htmlspecialchars($metaflat);
     $t->data['defaultidp'] = $defaultidp;
     $t->show();
 } else {
     header('Content-Type: application/xml');
Exemple #3
0
        $metaArray['description'] = $idpmeta['description'];
    }
    if (array_key_exists('url', $idpmeta)) {
        $metaArray['url'] = $idpmeta['url'];
    }
    if (array_key_exists('scope', $idpmeta)) {
        $metaArray['scope'] = $idpmeta['scope'];
    }
    $metaflat = '$metadata[' . var_export($idpentityid, TRUE) . '] = ' . var_export($metaArray, TRUE) . ';';
    $metaArray['certData'] = $certInfo['certData'];
    $metaBuilder = new SimpleSAML_Metadata_SAMLBuilder($idpentityid);
    $metaBuilder->addMetadataIdP20($metaArray);
    $metaBuilder->addContact('technical', array('emailAddress' => $config->getString('technicalcontact_email', NULL), 'name' => $config->getString('technicalcontact_name', NULL)));
    $metaxml = $metaBuilder->getEntityDescriptorText();
    /* Sign the metadata if enabled. */
    $metaxml = SimpleSAML_Metadata_Signer::sign($metaxml, $idpmeta, 'SAML 2 IdP');
    if (array_key_exists('output', $_GET) && $_GET['output'] == 'xhtml') {
        $defaultidp = $config->getString('default-saml20-idp', NULL);
        $t = new SimpleSAML_XHTML_Template($config, 'metadata.php', 'admin');
        $t->data['header'] = 'saml20-idp';
        $t->data['metaurl'] = SimpleSAML_Utilities::selfURLNoQuery();
        $t->data['metadata'] = htmlentities($metaxml);
        $t->data['metadataflat'] = htmlentities($metaflat);
        $t->data['defaultidp'] = $defaultidp;
        $t->show();
    } else {
        header('Content-Type: application/xml');
        echo $metaxml;
        exit(0);
    }
} catch (Exception $exception) {
Exemple #4
0
        $metaArray['name'] = $spmeta->getLocalizedString('name');
    }
    if ($spmeta->hasValue('description')) {
        $metaArray['description'] = $spmeta->getLocalizedString('description');
    }
    $metaflat = '$metadata[' . var_export($spentityid, TRUE) . '] = ' . var_export($metaArray, TRUE) . ';';
    if ($spmeta->hasValue('certificate')) {
        $metaArray['certificate'] = $spmeta->getString('certificate');
    }
    $metaBuilder = new SimpleSAML_Metadata_SAMLBuilder($spentityid);
    $metaBuilder->addMetadataSP11($metaArray);
    $metaBuilder->addOrganizationInfo($metaArray);
    $metaBuilder->addContact('technical', array('emailAddress' => $config->getString('technicalcontact_email', NULL), 'name' => $config->getString('technicalcontact_name', NULL)));
    $metaxml = $metaBuilder->getEntityDescriptorText();
    /* Sign the metadata if enabled. */
    $metaxml = SimpleSAML_Metadata_Signer::sign($metaxml, $spmeta->toArray(), 'Shib 1.3 SP');
    if (array_key_exists('output', $_GET) && $_GET['output'] == 'xhtml') {
        $t = new SimpleSAML_XHTML_Template($config, 'metadata.php', 'admin');
        $t->data['header'] = 'shib13-sp';
        $t->data['metadata'] = htmlspecialchars($metaxml);
        $t->data['metadataflat'] = htmlspecialchars($metaflat);
        $t->data['metaurl'] = SimpleSAML_Utilities::addURLparameter(SimpleSAML_Utilities::selfURLNoQuery(), array('output' => 'xml'));
        $t->show();
    } else {
        header('Content-Type: application/xml');
        echo $metaxml;
        exit(0);
    }
} catch (Exception $exception) {
    throw new SimpleSAML_Error_Error('METADATA', $exception);
}
} elseif (preg_match('@^(.*?)\\s*,\\s*(.*)$@D', $name, $matches)) {
    $c->SurName = $matches[1];
    $c->GivenName = $matches[2];
} elseif (preg_match('@^(.*?)\\s+(.*)$@D', $name, $matches)) {
    $c->GivenName = $matches[1];
    $c->SurName = $matches[2];
} else {
    $c->GivenName = $name;
}
$ed->ContactPerson[] = $c;
$xml = $ed->toXML();
SimpleSAML_Utilities::formatDOMElement($xml);
$xml = $xml->ownerDocument->saveXML($xml);
if (count($keys) === 1) {
    $metaArray20['certData'] = $keys[0]['X509Certificate'];
} elseif (count($keys) > 1) {
    $metaArray20['keys'] = $keys;
}
/* Sign the metadata if enabled. */
$xml = SimpleSAML_Metadata_Signer::sign($xml, $sp, 'SAML 2 SP');
if (array_key_exists('output', $_REQUEST) && $_REQUEST['output'] == 'xhtml') {
    $t = new SimpleSAML_XHTML_Template($config, 'metadata.php', 'admin');
    $t->data['header'] = 'saml20-sp';
    $t->data['metadata'] = htmlspecialchars($xml);
    $t->data['metadataflat'] = '$metadata[' . var_export($entityId, TRUE) . '] = ' . var_export($metaArray20, TRUE) . ';';
    $t->data['metaurl'] = $source->getMetadataURL();
    $t->show();
} else {
    header('Content-Type: application/samlmetadata+xml');
    echo $xml;
}
Exemple #6
0
     $metaArray['description'] = $spmeta['description'];
 }
 if (array_key_exists('url', $spmeta)) {
     $metaArray['url'] = $spmeta['url'];
 }
 $certInfo = SimpleSAML_Utilities::loadPublicKey($spmeta);
 if ($certInfo !== NULL && array_key_exists('certData', $certInfo)) {
     $metaArray['certData'] = $certInfo['certData'];
 }
 $metaflat = '$metadata[' . var_export($spentityid, TRUE) . '] = ' . var_export($metaArray, TRUE) . ';';
 $metaBuilder = new SimpleSAML_Metadata_SAMLBuilder($spentityid);
 $metaBuilder->addMetadataSP20($metaArray);
 $metaBuilder->addContact('technical', array('emailAddress' => $config->getString('technicalcontact_email', NULL), 'name' => $config->getString('technicalcontact_name', NULL)));
 $metaxml = $metaBuilder->getEntityDescriptorText();
 /* Sign the metadata if enabled. */
 $metaxml = SimpleSAML_Metadata_Signer::sign($metaxml, $spmeta, 'SAML 2 SP');
 /*
  * Generate list of IdPs that you can send metadata to.
  */
 $idplist = $metadata->getList('saml20-idp-remote');
 $idpsend = array();
 foreach ($idplist as $entityid => $mentry) {
     if (array_key_exists('send_metadata_email', $mentry)) {
         $idpsend[$entityid] = $mentry;
     }
 }
 $adminok = SimpleSAML_Utilities::isAdmin();
 $adminlogin = SimpleSAML_Utilities::getAdminLoginURL(SimpleSAML_Utilities::addURLParameter(SimpleSAML_Utilities::selfURLNoQuery(), array('output' => 'xhtml')));
 $sentok = FALSE;
 /*
  * Send metadata to Identity Provider, if the user filled submitted the form
    }
    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);
        $t->data['metadataflat'] = htmlspecialchars($metaflat);
        $t->data['defaultaa'] = $defaultaa;
        $t->show();
    } else {
        header('Content-Type: application/xml');
        echo $metaxml;
        exit(0);
    }
} catch (Exception $exception) {