From 7acad8e5e7a56a2413d4fb18df919e0839cd7571 Mon Sep 17 00:00:00 2001 From: Christophe Nowicki Date: Mon, 6 Sep 2004 16:24:26 +0000 Subject: PHP Idp Sample : - form for creating metadata - sso support - small README with installation instruction --- php/Attic/examples/sample-idp/create_metadata.php | 134 ++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 php/Attic/examples/sample-idp/create_metadata.php (limited to 'php/Attic/examples/sample-idp/create_metadata.php') diff --git a/php/Attic/examples/sample-idp/create_metadata.php b/php/Attic/examples/sample-idp/create_metadata.php new file mode 100644 index 00000000..cef56991 --- /dev/null +++ b/php/Attic/examples/sample-idp/create_metadata.php @@ -0,0 +1,134 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + require_once 'HTML/QuickForm.php'; + + $form = new HTML_QuickForm('frm'); + + $form->setDefaults(array( + 'providerID' => 'https://', + 'AssertionConsumerService' => 'https://', + 'SoapEndpoint' => 'https://', + 'SingleLogoutService' => 'https://', + 'RegisterNameIdentifierService' => 'https://', + 'AuthnRequestsSigned' => 1, + 'filename' => getcwd().'/metadata.xml' + )); + + $form->addElement('header', null, 'Create Liberty Alliance Metadata for an Service Provider'); + $form->addElement('text', 'providerID', 'providerID:', array('size' => 60, 'maxlength' => 255)); + + $form->addElement('text', 'AssertionConsumerService', 'AssertionConsumerService:', array('size' => 60, 'maxlength' => 255)); + + $form->addElement('text', 'SingleLogoutService', 'SingleLogoutService:', array('size' => 60, 'maxlength' => 255)); + $form->addElement('select', 'SingleLogoutProtocolProfile', 'SingleLogoutProtocolProfile:', array('http://projectliberty.org/profiles/slo-idp-soap')); + + $form->addElement('text', 'RegisterNameIdentifierService', 'RegisterNameIdentifierService:', array('size' => 60, 'maxlength' => 255)); + $form->addElement('select', 'RegisterNameIdentifierProtocolProfile', 'RegisterNameIdentifierProtocolProfile:', array('http://projectliberty.org/profiles/rni-sp-soap')); + + $form->addElement('text', 'SoapEndpoint', 'SoapEndpoint:', array('size' => 60, 'maxlength' => 255)); + $form->addElement('checkbox', 'AuthnRequestsSigned', 'Authn Requests must be signed? :', ''); + + $form->addElement('textarea', 'metadata', 'Metadata:', array('cols' => 60, 'rows' => 15)); + $form->addElement('text', 'filename', 'Filename:', array('size' => 60, 'maxlength' => 255)); + + $button[] = &HTML_QuickForm::createElement('button', null, 'Preview', array('onclick' => "write_metadata_preview();")); + $button[] = &HTML_QuickForm::createElement('submit', null, 'Write Metadata'); + + $form->addGroup($button, null, null, ' ', false); + + if ($form->validate()) { + + $xml = " +exportValue('providerID') ."\" xmlns=\"urn:liberty:metadata:2003-08\"> + + " . $form->exportValue('AssertionConsumerService') . "\n + " . $form->exportValue('SingleLogoutService') . " + " . $form->exportValue('SingleLogoutProtocolProfile') . "\n + " . $form->exportValue('RegisterNameIdentifierService') . " + " . $form->exportValue('RegisterNameIdentifierProtocolProfile') . "\n + " . $form->exportValue('SoapEndpoint') . "\n + " . (($form->exportValue('AuthnRequestsSigned')) ? 'true' : 'false') . " + +"; + + + if (($fd = fopen($form->exportValue('filename'), "w"))) + { + fwrite($fd, $xml); + fclose($fd); + } + else + die("Could not write metadata file :" . $form->exportValue('filename')); +?> + + + + + + + + + + + + + + +display(); +?> +
+

Copyright © 2004 Entr'ouvert

+ + -- cgit