getSelfHost() public static method

E.g. www.example.com
Author: Jaime Perez, UNINETT AS (jaime.perez@uninett.no)
public static getSelfHost ( ) : string
return string The current host.
Example #1
0
 /**
  * Constructor for this authentication source.
  *
  * @param array $info  Information about this authentication source.
  * @param array $config  Configuration.
  */
 public function __construct($info, $config)
 {
     assert('is_array($info)');
     assert('is_array($config)');
     // Call the parent constructor first, as required by the interface
     parent::__construct($info, $config);
     // Parse configuration.
     $config = SimpleSAML_Configuration::loadFromArray($config, 'Authentication source ' . var_export($this->authId, true));
     $this->servers = $config->getArray('servers', array());
     /* For backwards compatibility. */
     if (empty($this->servers)) {
         $this->hostname = $config->getString('hostname');
         $this->port = $config->getIntegerRange('port', 1, 65535, 1812);
         $this->secret = $config->getString('secret');
         $this->servers[] = array('hostname' => $this->hostname, 'port' => $this->port, 'secret' => $this->secret);
     }
     $this->timeout = $config->getInteger('timeout', 5);
     $this->retries = $config->getInteger('retries', 3);
     $this->realm = $config->getString('realm', null);
     $this->usernameAttribute = $config->getString('username_attribute', null);
     $this->nasIdentifier = $config->getString('nas_identifier', \SimpleSAML\Utils\HTTP::getSelfHost());
     $this->vendor = $config->getInteger('attribute_vendor', null);
     if ($this->vendor !== null) {
         $this->vendorType = $config->getInteger('attribute_vendor_type');
     }
 }
Example #2
0
 /**
  * Test SimpleSAML\Utils\HTTP::getSelfHost() with and without custom port.
  */
 public function testGetSelfHost()
 {
     \SimpleSAML_Configuration::loadFromArray(array('baseurlpath' => ''), '[ARRAY]', 'simplesaml');
     $_SERVER['SERVER_PORT'] = '80';
     $this->assertEquals('localhost', HTTP::getSelfHost());
     $_SERVER['SERVER_PORT'] = '3030';
     $this->assertEquals('localhost', HTTP::getSelfHost());
 }
 /**
  * This function locates the current entity id based on the hostname/path combination the user accessed.
  * It will throw an exception if it is unable to locate the entity id.
  *
  * @param string $set The set we look for the entity id in.
  * @param string $type Do you want to return the metaindex or the entityID. [entityid|metaindex]
  *
  * @return string The entity id which is associated with the current hostname/path combination.
  * @throws Exception If no default metadata can be found in the set for the current host.
  */
 public function getMetaDataCurrentEntityID($set, $type = 'entityid')
 {
     assert('is_string($set)');
     // first we look for the hostname/path combination
     $currenthostwithpath = \SimpleSAML\Utils\HTTP::getSelfHostWithPath();
     // sp.example.org/university
     foreach ($this->sources as $source) {
         $index = $source->getEntityIdFromHostPath($currenthostwithpath, $set, $type);
         if ($index !== null) {
             return $index;
         }
     }
     // then we look for the hostname
     $currenthost = \SimpleSAML\Utils\HTTP::getSelfHost();
     // sp.example.org
     if (strpos($currenthost, ":") !== false) {
         $currenthostdecomposed = explode(":", $currenthost);
         $currenthost = $currenthostdecomposed[0];
     }
     foreach ($this->sources as $source) {
         $index = $source->getEntityIdFromHostPath($currenthost, $set, $type);
         if ($index !== null) {
             return $index;
         }
     }
     // then we look for the DEFAULT entry
     foreach ($this->sources as $source) {
         $entityId = $source->getEntityIdFromHostPath('__DEFAULT__', $set, $type);
         if ($entityId !== null) {
             return $entityId;
         }
     }
     // we were unable to find the hostname/path in any metadata source
     throw new Exception('Could not find any default metadata entities in set [' . $set . '] for host [' . $currenthost . ' : ' . $currenthostwithpath . ']');
 }
Example #4
0
 /**
  * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::getSelfHost() instead.
  */
 public static function getSelfHost()
 {
     return \SimpleSAML\Utils\HTTP::getSelfHost();
 }
Example #5
0
<?php

require_once '../_include.php';
/* Load simpleSAMLphp, configuration */
$config = SimpleSAML_Configuration::getInstance();
$session = SimpleSAML_Session::getSessionFromRequest();
/* Check if valid local session exists.. */
SimpleSAML\Utils\Auth::requireAdmin();
$attributes = array();
$attributes['HTTP_HOST'] = array($_SERVER['HTTP_HOST']);
$attributes['HTTPS'] = isset($_SERVER['HTTPS']) ? array($_SERVER['HTTPS']) : array();
$attributes['SERVER_PROTOCOL'] = array($_SERVER['SERVER_PROTOCOL']);
$attributes['SERVER_PORT'] = array($_SERVER['SERVER_PORT']);
$attributes['Utilities_getBaseURL()'] = array(\SimpleSAML\Utils\HTTP::getBaseURL());
$attributes['Utilities_getSelfHost()'] = array(\SimpleSAML\Utils\HTTP::getSelfHost());
$attributes['Utilities_selfURLhost()'] = array(\SimpleSAML\Utils\HTTP::getSelfURLHost());
$attributes['Utilities_selfURLNoQuery()'] = array(\SimpleSAML\Utils\HTTP::getSelfURLNoQuery());
$attributes['Utilities_getSelfHostWithPath()'] = array(\SimpleSAML\Utils\HTTP::getSelfHostWithPath());
$attributes['Utilities_getFirstPathElement()'] = array(\SimpleSAML\Utils\HTTP::getFirstPathElement());
$attributes['Utilities_selfURL()'] = array(\SimpleSAML\Utils\HTTP::getSelfURL());
$template = new SimpleSAML_XHTML_Template($config, 'hostnames.php');
$template->data['remaining'] = $session->getAuthData('admin', 'Expire') - time();
$template->data['attributes'] = $attributes;
$template->data['valid'] = 'na';
$template->data['logout'] = null;
$template->show();
 private function generateDynamicHostedEntityID($set)
 {
     assert('is_string($set)');
     // get the configuration
     $baseurl = \SimpleSAML\Utils\HTTP::getBaseURL();
     if ($set === 'saml20-idp-hosted') {
         return $baseurl . 'saml2/idp/metadata.php';
     } elseif ($set === 'saml20-sp-hosted') {
         return $baseurl . 'saml2/sp/metadata.php';
     } elseif ($set === 'shib13-idp-hosted') {
         return $baseurl . 'shib13/idp/metadata.php';
     } elseif ($set === 'shib13-sp-hosted') {
         return $baseurl . 'shib13/sp/metadata.php';
     } elseif ($set === 'wsfed-sp-hosted') {
         return 'urn:federation:' . \SimpleSAML\Utils\HTTP::getSelfHost();
     } elseif ($set === 'adfs-idp-hosted') {
         return 'urn:federation:' . \SimpleSAML\Utils\HTTP::getSelfHost() . ':idp';
     } else {
         throw new Exception('Can not generate dynamic EntityID for metadata of this type: [' . $set . ']');
     }
 }
 private function lookupIndexFromEntityId($entityId, $set)
 {
     assert('is_string($entityId)');
     assert('isset($set)');
     $metadataSet = $this->getMetadataSet($set);
     // check for hostname
     $currenthost = \SimpleSAML\Utils\HTTP::getSelfHost();
     // sp.example.org
     if (strpos($currenthost, ":") !== false) {
         $currenthostdecomposed = explode(":", $currenthost);
         $currenthost = $currenthostdecomposed[0];
     }
     foreach ($metadataSet as $index => $entry) {
         if ($index === $entityId) {
             return $index;
         }
         if ($entry['entityid'] === $entityId) {
             if ($entry['host'] === '__DEFAULT__' || $entry['host'] === $currenthost) {
                 return $index;
             }
         }
     }
     return null;
 }