title: simpleSamlPHP Admin Login redirect loop
body: <p>I've got simpleSamlPHP 1.14 set up, and it's working just fine between the IDP and SP, our client's users can authenticate and login successfully.  I need to make some changes though, so I'm trying to log in to simpleSamlPHP itself as an administrator.  This causes a redirect loop, and I can see that it's not even trying to set any cookies.  This used to work, I'm not sure what changed on the server to cause this problem.  I don't want to upgrade simpleSamlPHP to troubleshoot this because our client is actively using it for authentication and it works, and I don't want to update and break that while I'm troubleshooting this.</p>
  
  <p>This is what the config file contains:</p>
  
  <pre><code>$config = array(
  
      'baseurlpath' =&gt; 'saml/',
      //'baseurlpath' =&gt; 'https://example.com/saml/'
      'certdir' =&gt; 'cert/',
      'loggingdir' =&gt; 'log/',
      'datadir' =&gt; 'data/',
      'tempdir' =&gt; '/tmp',
      'debug' =&gt; true,
      'showerrors' =&gt; true,
      'errorreporting' =&gt; true,
      'debug.validatexml' =&gt; false,
      'auth.adminpassword' =&gt; 'supersecret',
      'admin.protectindexpage' =&gt; false,
      'admin.protectmetadata' =&gt; false,
      'secretsalt' =&gt; 'supersecret',
      'technicalcontact_name' =&gt; 'Me',
      'technicalcontact_email' =&gt; 'me@example.com',
      'timezone' =&gt; 'America/Denver',
      'logging.level' =&gt; SimpleSAML_Logger::NOTICE,
      'logging.handler' =&gt; 'file',
      'logging.facility' =&gt; defined('LOG_LOCAL5') ? constant('LOG_LOCAL5') : LOG_USER,
      'logging.processname' =&gt; 'simplesamlphp',
      'logging.logfile' =&gt; 'simplesamlphp.log',
      'statistics.out' =&gt; array(// Log statistics to the normal log.
      ),
      'database.dsn' =&gt; 'mysql:host=localhost;dbname=saml_saml',
      'database.username' =&gt; 'saml_user',
      'database.password' =&gt; 'supersecret',
      'database.prefix' =&gt; '',
      'database.persistent' =&gt; false,
      'database.slaves' =&gt; array(
      ),
      'enable.saml20-idp' =&gt; false,
      'enable.shib13-idp' =&gt; false,
      'enable.adfs-idp' =&gt; false,
      'enable.wsfed-sp' =&gt; false,
      'enable.authmemcookie' =&gt; false,
      'session.name' =&gt; 'app_session',
      'session.duration' =&gt; 8 * (60 * 60), // 8 hours.
      'session.datastore.timeout' =&gt; (4 * 60 * 60), // 4 hours
      'session.state.timeout' =&gt; (60 * 60), // 1 hour
      'session.cookie.name' =&gt; 'SimpleSAMLSessionID',
      'session.cookie.lifetime' =&gt; 0,
      'session.cookie.path' =&gt; '/',
      'session.cookie.domain' =&gt; null,
      'session.cookie.secure' =&gt; false,
      'enable.http_post' =&gt; false,
      'session.phpsession.cookiename' =&gt; 'app_session',
      'session.phpsession.savepath' =&gt; null,
      'session.phpsession.httponly' =&gt; true,
      'session.authtoken.cookiename' =&gt; 'SimpleSAMLAuthToken',
      'session.rememberme.enable' =&gt; false,
      'session.rememberme.checked' =&gt; false,
      'session.rememberme.lifetime' =&gt; (14 * 86400),
      'language.available' =&gt; array(
          'en', 'no', 'nn', 'se', 'da', 'de', 'sv', 'fi', 'es', 'fr', 'it', 'nl', 'lb', 'cs',
          'sl', 'lt', 'hr', 'hu', 'pl', 'pt', 'pt-br', 'tr', 'ja', 'zh', 'zh-tw', 'ru', 'et',
          'he', 'id', 'sr', 'lv', 'ro', 'eu'
      ),
      'language.rtl' =&gt; array('ar', 'dv', 'fa', 'ur', 'he'),
      'language.default' =&gt; 'en',
      'language.parameter.name' =&gt; 'language',
      'language.parameter.setcookie' =&gt; true,
      'language.cookie.name' =&gt; 'language',
      'language.cookie.domain' =&gt; null,
      'language.cookie.path' =&gt; '/',
      'language.cookie.lifetime' =&gt; (60 * 60 * 24 * 900),
      'attributes.extradictionary' =&gt; null,
      'theme.use' =&gt; 'default',
      'default-wsfed-idp' =&gt; 'urn:federation:pingfederate:localhost',
      'idpdisco.enableremember' =&gt; true,
      'idpdisco.rememberchecked' =&gt; true,
      'idpdisco.validate' =&gt; true,
      'idpdisco.extDiscoveryStorage' =&gt; null,
      'idpdisco.layout' =&gt; 'dropdown',
      'shib13.signresponse' =&gt; true,
      'authproc.idp' =&gt; array(
          30 =&gt; 'core:LanguageAdaptor',
          45 =&gt; array(
              'class'         =&gt; 'core:StatisticsWithAttribute',
              'attributename' =&gt; 'realm',
              'type'          =&gt; 'saml20-idp-SSO',
          ),
          50 =&gt; 'core:AttributeLimit',
          99 =&gt; 'core:LanguageAdaptor',
      ),
      'authproc.sp' =&gt; array(
          90 =&gt; 'core:LanguageAdaptor',
  
      ),
      'metadata.sources' =&gt; array(
          array('type' =&gt; 'flatfile'),
      ),
      'store.type'                    =&gt; 'phpsession',
      'store.sql.dsn'                 =&gt; 'sqlite:/path/to/sqlitedatabase.sq3',
      'store.sql.username' =&gt; null,
      'store.sql.password' =&gt; null,
      'store.sql.prefix' =&gt; 'SimpleSAMLphp',
      'memcache_store.servers' =&gt; array(
          array(
              array('hostname' =&gt; 'localhost'),
          ),
      ),
      'memcache_store.prefix' =&gt; null,
      'memcache_store.expires' =&gt; 36 * (60 * 60), // 36 hours.
      'metadata.sign.enable' =&gt; false,
      'metadata.sign.privatekey' =&gt; null,
      'metadata.sign.privatekey_pass' =&gt; null,
      'metadata.sign.certificate' =&gt; null,
      'proxy' =&gt; null,
      'trusted.url.domains' =&gt; array(),
  
  );
  </code></pre>
  
  <p>I've tried to set the baseurlpath to a fully-qualified URL, but that just causes a blank screen.  I created the database and user and if I set store.type to sql, again I get a blank screen.  No error messages on screen nor in the log.  I've tried to set the cookie domain and that didn't have any effect, it still didn't try to set a cookie.</p>
  
  <p>Does anyone have any other suggestions?  Again, the SAML authentication between the configured IDP and SP are working fine, I just can't log in to simpleSamlPHP itself as an admin.</p>