summaryrefslogtreecommitdiffstats
path: root/lib/SimpleSAML
diff options
context:
space:
mode:
authorOlav Morken <olav.morken@uninett.no>2010-07-08 13:18:40 +0000
committerOlav Morken <olav.morken@uninett.no>2010-07-08 13:18:40 +0000
commit725b94dcd19b0a09a4ba848a4791890774d63a3d (patch)
tree010f859298a09c17bda61d9a859134d31deebcb4 /lib/SimpleSAML
parent4c10ef35b4ee97cd83d44d8b39eaaf9ea1660a20 (diff)
downloadsimplesamlphp-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.php45
-rw-r--r--lib/SimpleSAML/Utilities.php40
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.