diff options
author | Olav Morken <olav.morken@uninett.no> | 2010-07-08 13:18:40 +0000 |
---|---|---|
committer | Olav Morken <olav.morken@uninett.no> | 2010-07-08 13:18:40 +0000 |
commit | 725b94dcd19b0a09a4ba848a4791890774d63a3d (patch) | |
tree | 010f859298a09c17bda61d9a859134d31deebcb4 /lib/SimpleSAML | |
parent | 4c10ef35b4ee97cd83d44d8b39eaaf9ea1660a20 (diff) | |
download | simplesamlphp-725b94dcd19b0a09a4ba848a4791890774d63a3d.zip simplesamlphp-725b94dcd19b0a09a4ba848a4791890774d63a3d.tar.gz simplesamlphp-725b94dcd19b0a09a4ba848a4791890774d63a3d.tar.bz2 |
Move getAuthority() from Utilities to IdP.
git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@2388 44740490-163a-0410-bde0-09ae8108e29a
Diffstat (limited to 'lib/SimpleSAML')
-rw-r--r-- | lib/SimpleSAML/IdP.php | 45 | ||||
-rw-r--r-- | lib/SimpleSAML/Utilities.php | 40 |
2 files changed, 44 insertions, 41 deletions
diff --git a/lib/SimpleSAML/IdP.php b/lib/SimpleSAML/IdP.php index 18f78b7..a16ef17 100644 --- a/lib/SimpleSAML/IdP.php +++ b/lib/SimpleSAML/IdP.php @@ -226,6 +226,49 @@ class SimpleSAML_IdP { /** + * Retrieve the authority for the given IdP metadata. + * + * This function provides backwards-compatibility with + * previous versions of simpleSAMLphp. + * + * @param array $idpmetadata The IdP metadata. + * @return string The authority that should be used to validate the session. + */ + private function getAuthority() { + + if ($this->config->hasValue('authority')) { + return $this->config->getString('authority'); + } + + $candidates = array( + 'auth/login-admin.php' => 'login-admin', + 'auth/login-auto.php' => 'login-auto', + 'auth/login-cas-ldap.php' => 'login-cas-ldap', + 'auth/login-feide.php' => 'login-feide', + 'auth/login-ldapmulti.php' => 'login-ldapmulti', + 'auth/login-radius.php' => 'login-radius', + 'auth/login-tlsclient.php' => 'tlsclient', + 'auth/login-wayf-ldap.php' => 'login-wayf-ldap', + 'auth/login.php' => 'login', + ); + + $auth = $this->config->getString('auth'); + + if (isset($candidates[$auth])) { + return $candidates[$auth]; + } + if (strpos($auth, '/') !== FALSE) { + /* Probably a file. */ + throw new SimpleSAML_Error_Exception('You need to set \'authority\' in the metadata for ' . + var_export($this->id, TRUE) . '.'); + } else { + throw new SimpleSAML_Error_Exception('Unknown authsource ' . + var_export($auth, TRUE) . '.'); + } + } + + + /** * Is the current user authenticated? * * @return bool TRUE if the user is authenticated, FALSE if not. @@ -246,7 +289,7 @@ class SimpleSAML_IdP { } /* It wasn't an authentication source. */ - $authority = SimpleSAML_Utilities::getAuthority($this->config->toArray()); + $authority = $this->getAuthority(); return $session->isValid($authority); } diff --git a/lib/SimpleSAML/Utilities.php b/lib/SimpleSAML/Utilities.php index 3657a5f..98a2a10 100644 --- a/lib/SimpleSAML/Utilities.php +++ b/lib/SimpleSAML/Utilities.php @@ -2124,46 +2124,6 @@ class SimpleSAML_Utilities { /** - * Retrieve the authority for the given IdP metadata. - * - * This function provides backwards-compatibility with - * previous versions of simpleSAMLphp. - * - * @param array $idpmetadata The IdP metadata. - * @return string The authority that should be used to validate the session. - */ - public static function getAuthority(array $idpmetadata) { - - if (isset($idpmetadata['authority'])) { - return $idpmetadata['authority']; - } - - $candidates = array( - 'auth/login-admin.php' => 'login-admin', - 'auth/login-auto.php' => 'login-auto', - 'auth/login-cas-ldap.php' => 'login-cas-ldap', - 'auth/login-feide.php' => 'login-feide', - 'auth/login-ldapmulti.php' => 'login-ldapmulti', - 'auth/login-radius.php' => 'login-radius', - 'auth/login-tlsclient.php' => 'tlsclient', - 'auth/login-wayf-ldap.php' => 'login-wayf-ldap', - 'auth/login.php' => 'login', - ); - if (isset($candidates[$idpmetadata['auth']])) { - return $candidates[$idpmetadata['auth']]; - } - if (strpos($idpmetadata['auth'], '/') !== FALSE) { - /* Probably a file. */ - throw new SimpleSAML_Error_Exception('You need to set \'authority\' in the metadata for ' . - var_export($idpmetadata['entityid'], TRUE) . '.'); - } else { - throw new SimpleSAML_Error_Exception('Unknown authsource ' . - var_export($idpmetadata['auth'], TRUE) . '.'); - } - } - - - /** * Check for session cookie, and show missing-cookie page if it is missing. * * @param string|NULL $retryURL The URL the user should access to retry the operation. |