Skip to content
Snippets Groups Projects
Commit 725b94dc authored by Olav Morken's avatar Olav Morken
Browse files

Move getAuthority() from Utilities to IdP.

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@2388 44740490-163a-0410-bde0-09ae8108e29a
parent 4c10ef35
No related branches found
No related tags found
No related merge requests found
......@@ -225,6 +225,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?
*
......@@ -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);
}
......
......@@ -2123,46 +2123,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.
*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment