getSPMetadata() public method

Gets the SP metadata. The XML representation.
public getSPMetadata ( ) : string
return string SP metadata (xml)
示例#1
0
 /**
  * Returns the metadata of this Service Provider in xml.
  * @return string Metadata in xml
  * @throws \Exception
  * @throws \OneLogin_Saml2_Error
  */
 public function getMetadata()
 {
     $oneLoginSetting = new \OneLogin_Saml2_Settings($this->config, true);
     $metadata = $oneLoginSetting->getSPMetadata();
     $errors = $oneLoginSetting->validateMetadata($metadata);
     if (!empty($errors)) {
         throw new \Exception('Invalid Metadata Service Provider');
     }
     return $metadata;
 }
示例#2
0
 /**
  * Tests the validateMetadata method of the OneLogin_Saml2_Settings
  * Case valid metadata
  *
  * @covers OneLogin_Saml2_Settings::validateMetadata
  */
 public function testValidateMetadata()
 {
     $settingsDir = TEST_ROOT . '/settings/';
     include $settingsDir . 'settings1.php';
     $settings = new OneLogin_Saml2_Settings($settingsInfo);
     $metadata = $settings->getSPMetadata();
     $this->assertEmpty($settings->validateMetadata($metadata));
 }
示例#3
0
<?php

/**
 *  SAML Metadata view
 */
require_once dirname(dirname(__FILE__)) . '/_toolkit_loader.php';
require_once 'settings.php';
try {
    #$auth = new OneLogin_Saml2_Auth($settingsInfo);
    #$settings = $auth->getSettings();
    // Now we only validate SP settings
    $settings = new OneLogin_Saml2_Settings($settingsInfo, true);
    $metadata = $settings->getSPMetadata();
    $errors = $settings->validateMetadata($metadata);
    if (empty($errors)) {
        header('Content-Type: text/xml');
        echo $metadata;
    } else {
        throw new OneLogin_Saml2_Error('Invalid SP metadata: ' . implode(', ', $errors), OneLogin_Saml2_Error::METADATA_SP_INVALID);
    }
} catch (Exception $e) {
    echo $e->getMessage();
}