Skip to content
Snippets Groups Projects
Commit 173409e8 authored by Olav Morken's avatar Olav Morken
Browse files

www/*/metadata: Convert to SimpleSAML_Configuration metadata.

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@2284 44740490-163a-0410-bde0-09ae8108e29a
parent 06616651
No related branches found
No related tags found
No related merge requests found
......@@ -17,11 +17,10 @@ if ($config->getBoolean('admin.protectmetadata', false)) {
try {
$idpmeta = isset($_GET['idpentityid']) ? $_GET['idpentityid'] : $metadata->getMetaDataCurrent('saml20-idp-hosted');
$idpentityid = isset($_GET['idpentityid']) ? $_GET['idpentityid'] : $metadata->getMetaDataCurrentEntityID('saml20-idp-hosted');
$idpmeta = $metadata->getMetaDataConfig($idpentityid, 'saml20-idp-hosted');
$certInfo = SimpleSAML_Utilities::loadPublicKey($idpmeta, TRUE);
$certInfo = SimpleSAML_Utilities::loadPublicKey($idpmeta->toArray(), TRUE);
$certFingerprint = $certInfo['certFingerprint'];
if (count($certFingerprint) === 1) {
/* Only one valid certificate. */
......@@ -36,7 +35,7 @@ try {
'certFingerprint' => $certFingerprint,
);
if (isset($idpmeta['saml20.sendartifact']) && $idpmeta['saml20.sendartifact'] === TRUE) {
if ($idpmeta->getBoolean('saml20.sendartifact', FALSE)) {
/* Artifact sending enabled. */
$metaArray['ArtifactResolutionService'][] = array(
'index' => 0,
......@@ -45,29 +44,20 @@ try {
);
}
if (array_key_exists('NameIDFormat', $idpmeta)) {
$metaArray['NameIDFormat'] = $idpmeta['NameIDFormat'];
} else {
$metaArray['NameIDFormat'] = 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient';
}
$metaArray['NameIDFormat'] = $idpmeta->getString('NameIDFormat', 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient');
if (!empty($idpmeta['OrganizationName'])) {
$metaArray['OrganizationName'] = $idpmeta['OrganizationName'];
if (!empty($idpmeta['OrganizationDisplayName'])) {
$metaArray['OrganizationDisplayName'] = $idpmeta['OrganizationDisplayName'];
} else {
$metaArray['OrganizationDisplayName'] = $idpmeta['OrganizationName'];
}
if ($idpmeta->hasValue('OrganizationName')) {
$metaArray['OrganizationName'] = $idpmeta->getLocalizedString('OrganizationName');
$metaArray['OrganizationDisplayName'] = $idpmeta->getLocalizedString('OrganizationDisplayName', $metaArray['OrganizationName']);
if (empty($idpmeta['OrganizationURL'])) {
if (!$idpmeta->hasValue('OrganizationURL')) {
throw new SimpleSAML_Error_Exception('If OrganizationName is set, OrganizationURL must also be set.');
}
$metaArray['OrganizationURL'] = $idpmeta['OrganizationURL'];
$metaArray['OrganizationURL'] = $idpmeta->getLocalizedString('OrganizationURL');
}
if (array_key_exists('scope', $idpmeta)) {
$metaArray['scope'] = $idpmeta['scope'];
if ($idpmeta->hasValue('scope')) {
$metaArray['scope'] = $idpmeta->getArray('scope');
}
......@@ -84,7 +74,7 @@ try {
$metaxml = $metaBuilder->getEntityDescriptorText();
/* Sign the metadata if enabled. */
$metaxml = SimpleSAML_Metadata_Signer::sign($metaxml, $idpmeta, 'SAML 2 IdP');
$metaxml = SimpleSAML_Metadata_Signer::sign($metaxml, $idpmeta->toArray(), 'SAML 2 IdP');
if (array_key_exists('output', $_GET) && $_GET['output'] == 'xhtml') {
$defaultidp = $config->getString('default-saml20-idp', NULL);
......
......@@ -19,8 +19,8 @@ if ($config->getBoolean('admin.protectmetadata', false)) {
try {
$spmeta = isset($_GET['spentityid']) ? $_GET['spentityid'] : $metadata->getMetaDataCurrent();
$spentityid = isset($_GET['spentityid']) ? $_GET['spentityid'] : $metadata->getMetaDataCurrentEntityID();
$spmeta = $metadata->getMetaDataConfig($spentityid, 'saml20-sp-hosted');
$metaArray = array(
'metadata-set' => 'saml20-sp-remote',
......@@ -29,42 +29,33 @@ try {
'SingleLogoutService' => $metadata->getGenerated('SingleLogoutService', 'saml20-sp-hosted'),
);
if (array_key_exists('NameIDFormat', $spmeta)) {
$metaArray['NameIDFormat'] = $spmeta['NameIDFormat'];
} else {
$metaArray['NameIDFormat'] = 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient';
}
$metaArray['NameIDFormat'] = $spmeta->getString('NameIDFormat', 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient');
if (!empty($spmeta['OrganizationName'])) {
$metaArray['OrganizationName'] = $spmeta['OrganizationName'];
if (!empty($spmeta['OrganizationDisplayName'])) {
$metaArray['OrganizationDisplayName'] = $spmeta['OrganizationDisplayName'];
} else {
$metaArray['OrganizationDisplayName'] = $spmeta['OrganizationName'];
}
if ($spmeta->hasValue('OrganizationName')) {
$metaArray['OrganizationName'] = $spmeta->getLocalizedString('OrganizationName');
$metaArray['OrganizationDisplayName'] = $spmeta->getLocalizedString('OrganizationDisplayName', $metaArray['OrganizationName']);
if (empty($spmeta['OrganizationURL'])) {
if (!$spmeta->hasValue('OrganizationURL')) {
throw new SimpleSAML_Error_Exception('If OrganizationName is set, OrganizationURL must also be set.');
}
$metaArray['OrganizationURL'] = $spmeta['OrganizationURL'];
$metaArray['OrganizationURL'] = $spmeta->getLocalizedString('OrganizationURL');
}
if (array_key_exists('attributes', $spmeta)) {
$metaArray['attributes'] = $spmeta['attributes'];
if ($spmeta->hasValue('attributes')) {
$metaArray['attributes'] = $spmeta->getArray('attributes');
}
if (array_key_exists('attributes.NameFormat', $spmeta)) {
$metaArray['attributes.NameFormat'] = $spmeta['attributes.NameFormat'];
if ($spmeta->hasValue('attributes.NameFormat')) {
$metaArray['attributes.NameFormat'] = $spmeta->getString('attributes.NameFormat');
}
if (array_key_exists('name', $spmeta)) {
$metaArray['name'] = $spmeta['name'];
if ($spmeta->hasValue('name')) {
$metaArray['name'] = $spmeta->getLocalizedString('name');
}
if (array_key_exists('description', $spmeta)) {
$metaArray['description'] = $spmeta['description'];
if ($spmeta->hasValue('description')) {
$metaArray['description'] = $spmeta->getLocalizedString('description');
}
$certInfo = SimpleSAML_Utilities::loadPublicKey($spmeta);
$certInfo = SimpleSAML_Utilities::loadPublicKey($spmeta->toArray());
if ($certInfo !== NULL && array_key_exists('certData', $certInfo)) {
$metaArray['certData'] = $certInfo['certData'];
}
......@@ -81,7 +72,7 @@ try {
$metaxml = $metaBuilder->getEntityDescriptorText();
/* Sign the metadata if enabled. */
$metaxml = SimpleSAML_Metadata_Signer::sign($metaxml, $spmeta, 'SAML 2 SP');
$metaxml = SimpleSAML_Metadata_Signer::sign($metaxml, $spmeta->toArray(), 'SAML 2 SP');
......
......@@ -18,10 +18,10 @@ if ($config->getBoolean('admin.protectmetadata', false)) {
try {
$idpmeta = isset($_GET['idpentityid']) ? $_GET['idpentityid'] : $metadata->getMetaDataCurrent('shib13-idp-hosted');
$idpentityid = isset($_GET['idpentityid']) ? $_GET['idpentityid'] : $metadata->getMetaDataCurrentEntityID('shib13-idp-hosted');
$certInfo = SimpleSAML_Utilities::loadPublicKey($idpmeta, TRUE);
$idpmeta = $metadata->getMetaDataConfig($idpentityid, 'shib13-idp-hosted');
$certInfo = SimpleSAML_Utilities::loadPublicKey($idpmeta->toArray(), TRUE);
$certFingerprint = $certInfo['certFingerprint'];
if (count($certFingerprint) === 1) {
/* Only one valid certificate. */
......@@ -35,25 +35,16 @@ try {
'certFingerprint' => $certFingerprint,
);
if (array_key_exists('NameIDFormat', $idpmeta)) {
$metaArray['NameIDFormat'] = $idpmeta['NameIDFormat'];
} else {
$metaArray['NameIDFormat'] = 'urn:mace:shibboleth:1.0:nameIdentifier';
}
if (!empty($idpmeta['OrganizationName'])) {
$metaArray['OrganizationName'] = $idpmeta['OrganizationName'];
$metaArray['NameIDFormat'] = $idpmeta->getString('NameIDFormat', 'urn:mace:shibboleth:1.0:nameIdentifier');
if (!empty($idpmeta['OrganizationDisplayName'])) {
$metaArray['OrganizationDisplayName'] = $idpmeta['OrganizationDisplayName'];
} else {
$metaArray['OrganizationDisplayName'] = $idpmeta['OrganizationName'];
}
if ($idpmeta->hasValue('OrganizationName')) {
$metaArray['OrganizationName'] = $idpmeta->getLocalizedString('OrganizationName');
$metaArray['OrganizationDisplayName'] = $idpmeta->getLocalizedString('OrganizationDisplayName', $metaArray['OrganizationName']);
if (empty($idpmeta['OrganizationURL'])) {
if (!$idpmeta->hasValue('OrganizationURL')) {
throw new SimpleSAML_Error_Exception('If OrganizationName is set, OrganizationURL must also be set.');
}
$metaArray['OrganizationURL'] = $idpmeta['OrganizationURL'];
$metaArray['OrganizationURL'] = $idpmeta->getLocalizedString('OrganizationURL');
}
......@@ -70,7 +61,7 @@ try {
$metaxml = $metaBuilder->getEntityDescriptorText();
/* Sign the metadata if enabled. */
$metaxml = SimpleSAML_Metadata_Signer::sign($metaxml, $idpmeta, 'Shib 1.3 IdP');
$metaxml = SimpleSAML_Metadata_Signer::sign($metaxml, $idpmeta->toArray(), 'Shib 1.3 IdP');
if (array_key_exists('output', $_GET) && $_GET['output'] == 'xhtml') {
......
......@@ -19,9 +19,8 @@ if ($config->getBoolean('admin.protectmetadata', false)) {
try {
$spmeta = isset($_GET['spentityid']) ? $_GET['spentityid'] : $metadata->getMetaDataCurrent('shib13-sp-hosted');
$spentityid = isset($_GET['spentityid']) ? $_GET['spentityid'] : $metadata->getMetaDataCurrentEntityID('shib13-sp-hosted');
$spmeta = $metadata->getMetaDataConfig($spentityid, 'shib13-sp-hosted');
$metaArray = array(
'metadata-set' => 'shib13-sp-remote',
......@@ -29,50 +28,41 @@ try {
'AssertionConsumerService' => $metadata->getGenerated('AssertionConsumerService', 'shib13-sp-hosted'),
);
$certInfo = SimpleSAML_Utilities::loadPublicKey($spmeta);
$certInfo = SimpleSAML_Utilities::loadPublicKey($spmeta->toArray());
if ($certInfo !== NULL && array_key_exists('certData', $certInfo)) {
$metaArray['certData'] = $certInfo['certData'];
}
if (array_key_exists('NameIDFormat', $spmeta)) {
$metaArray['NameIDFormat'] = $spmeta['NameIDFormat'];
} else {
$metaArray['NameIDFormat'] = 'urn:mace:shibboleth:1.0:nameIdentifier';
}
if (!empty($spmeta['OrganizationName'])) {
$metaArray['OrganizationName'] = $spmeta['OrganizationName'];
$metaArray['NameIDFormat'] = $spmeta->getString('NameIDFormat', 'urn:mace:shibboleth:1.0:nameIdentifier');
if (!empty($spmeta['OrganizationDisplayName'])) {
$metaArray['OrganizationDisplayName'] = $spmeta['OrganizationDisplayName'];
} else {
$metaArray['OrganizationDisplayName'] = $spmeta['OrganizationName'];
}
if ($spmeta->hasValue('OrganizationName')) {
$metaArray['OrganizationName'] = $spmeta->getLocalizedString('OrganizationName');
$metaArray['OrganizationDisplayName'] = $spmeta->getLocalizedString('OrganizationDisplayName', $metaArray['OrganizationName']);
if (empty($spmeta['OrganizationURL'])) {
if (!$spmeta->hasValue('OrganizationURL')) {
throw new SimpleSAML_Error_Exception('If OrganizationName is set, OrganizationURL must also be set.');
}
$metaArray['OrganizationURL'] = $spmeta['OrganizationURL'];
$metaArray['OrganizationURL'] = $spmeta->getLocalizedString('OrganizationURL');
}
if (array_key_exists('attributes', $spmeta)) {
$metaArray['attributes'] = $spmeta['attributes'];
if ($spmeta->hasValue('attributes')) {
$metaArray['attributes'] = $spmeta->getArray('attributes');
}
if (array_key_exists('attributes.NameFormat', $spmeta)) {
$metaArray['attributes.NameFormat'] = $spmeta['attributes.NameFormat'];
if ($spmeta->hasValue('attributes.NameFormat')) {
$metaArray['attributes.NameFormat'] = $spmeta->getString('attributes.NameFormat');
}
if (array_key_exists('name', $spmeta)) {
$metaArray['name'] = $spmeta['name'];
if ($spmeta->hasValue('name')) {
$metaArray['name'] = $spmeta->getLocalizedString('name');
}
if (array_key_exists('description', $spmeta)) {
$metaArray['description'] = $spmeta['description'];
if ($spmeta->hasValue('description')) {
$metaArray['description'] = $spmeta->getLocalizedString('description');
}
$metaflat = '$metadata[' . var_export($spentityid, TRUE) . '] = ' . var_export($metaArray, TRUE) . ';';
if (array_key_exists('certificate', $spmeta)) {
$metaArray['certificate'] = $spmeta['certificate'];
if ($spmeta->hasValue('certificate')) {
$metaArray['certificate'] = $spmeta->getString('certificate');
}
$metaBuilder = new SimpleSAML_Metadata_SAMLBuilder($spentityid);
$metaBuilder->addMetadataSP11($metaArray);
......@@ -84,7 +74,7 @@ try {
$metaxml = $metaBuilder->getEntityDescriptorText();
/* Sign the metadata if enabled. */
$metaxml = SimpleSAML_Metadata_Signer::sign($metaxml, $spmeta, 'Shib 1.3 SP');
$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');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment