Цикл перенаправления входа в систему simpleSamlPHP Admin - PullRequest
0 голосов
/ 21 марта 2019

У меня настроен simpleSamlPHP 1.14, и он отлично работает между IDP и SP, пользователи нашего клиента могут успешно проходить аутентификацию и вход в систему.Мне нужно внести некоторые изменения, поэтому я пытаюсь войти в себя как simpleSamlPHP как администратор.Это вызывает цикл перенаправления, и я вижу, что он даже не пытается установить какие-либо куки.Раньше это работало, я не уверен, что изменилось на сервере, чтобы вызвать эту проблему.Я не хочу обновлять simpleSamlPHP для устранения неполадок, потому что наш клиент активно использует его для аутентификации, и он работает, и я не хочу обновлять и ломать его, пока устраняю неполадки.

Эточто содержит файл конфигурации:

$config = array(

    'baseurlpath' => 'saml/',
    //'baseurlpath' => 'https://example.com/saml/'
    'certdir' => 'cert/',
    'loggingdir' => 'log/',
    'datadir' => 'data/',
    'tempdir' => '/tmp',
    'debug' => true,
    'showerrors' => true,
    'errorreporting' => true,
    'debug.validatexml' => false,
    'auth.adminpassword' => 'supersecret',
    'admin.protectindexpage' => false,
    'admin.protectmetadata' => false,
    'secretsalt' => 'supersecret',
    'technicalcontact_name' => 'Me',
    'technicalcontact_email' => 'me@example.com',
    'timezone' => 'America/Denver',
    'logging.level' => SimpleSAML_Logger::NOTICE,
    'logging.handler' => 'file',
    'logging.facility' => defined('LOG_LOCAL5') ? constant('LOG_LOCAL5') : LOG_USER,
    'logging.processname' => 'simplesamlphp',
    'logging.logfile' => 'simplesamlphp.log',
    'statistics.out' => array(// Log statistics to the normal log.
    ),
    'database.dsn' => 'mysql:host=localhost;dbname=saml_saml',
    'database.username' => 'saml_user',
    'database.password' => 'supersecret',
    'database.prefix' => '',
    'database.persistent' => false,
    'database.slaves' => array(
    ),
    'enable.saml20-idp' => false,
    'enable.shib13-idp' => false,
    'enable.adfs-idp' => false,
    'enable.wsfed-sp' => false,
    'enable.authmemcookie' => false,
    'session.name' => 'app_session',
    'session.duration' => 8 * (60 * 60), // 8 hours.
    'session.datastore.timeout' => (4 * 60 * 60), // 4 hours
    'session.state.timeout' => (60 * 60), // 1 hour
    'session.cookie.name' => 'SimpleSAMLSessionID',
    'session.cookie.lifetime' => 0,
    'session.cookie.path' => '/',
    'session.cookie.domain' => null,
    'session.cookie.secure' => false,
    'enable.http_post' => false,
    'session.phpsession.cookiename' => 'app_session',
    'session.phpsession.savepath' => null,
    'session.phpsession.httponly' => true,
    'session.authtoken.cookiename' => 'SimpleSAMLAuthToken',
    'session.rememberme.enable' => false,
    'session.rememberme.checked' => false,
    'session.rememberme.lifetime' => (14 * 86400),
    'language.available' => 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' => array('ar', 'dv', 'fa', 'ur', 'he'),
    'language.default' => 'en',
    'language.parameter.name' => 'language',
    'language.parameter.setcookie' => true,
    'language.cookie.name' => 'language',
    'language.cookie.domain' => null,
    'language.cookie.path' => '/',
    'language.cookie.lifetime' => (60 * 60 * 24 * 900),
    'attributes.extradictionary' => null,
    'theme.use' => 'default',
    'default-wsfed-idp' => 'urn:federation:pingfederate:localhost',
    'idpdisco.enableremember' => true,
    'idpdisco.rememberchecked' => true,
    'idpdisco.validate' => true,
    'idpdisco.extDiscoveryStorage' => null,
    'idpdisco.layout' => 'dropdown',
    'shib13.signresponse' => true,
    'authproc.idp' => array(
        30 => 'core:LanguageAdaptor',
        45 => array(
            'class'         => 'core:StatisticsWithAttribute',
            'attributename' => 'realm',
            'type'          => 'saml20-idp-SSO',
        ),
        50 => 'core:AttributeLimit',
        99 => 'core:LanguageAdaptor',
    ),
    'authproc.sp' => array(
        90 => 'core:LanguageAdaptor',

    ),
    'metadata.sources' => array(
        array('type' => 'flatfile'),
    ),
    'store.type'                    => 'phpsession',
    'store.sql.dsn'                 => 'sqlite:/path/to/sqlitedatabase.sq3',
    'store.sql.username' => null,
    'store.sql.password' => null,
    'store.sql.prefix' => 'SimpleSAMLphp',
    'memcache_store.servers' => array(
        array(
            array('hostname' => 'localhost'),
        ),
    ),
    'memcache_store.prefix' => null,
    'memcache_store.expires' => 36 * (60 * 60), // 36 hours.
    'metadata.sign.enable' => false,
    'metadata.sign.privatekey' => null,
    'metadata.sign.privatekey_pass' => null,
    'metadata.sign.certificate' => null,
    'proxy' => null,
    'trusted.url.domains' => array(),

);

Я пытался задать для baseurlpath полный URL-адрес, но это приводит к пустому экрану.Я создал базу данных и пользователя, и если я установил store.type в sql, я снова получаю пустой экран.Нет сообщений об ошибках на экране, ни в журнале.Я пытался установить домен cookie, но это не имело никакого эффекта, он все еще не пытался установить cookie.

У кого-нибудь есть другие предложения?Опять же, проверка подлинности SAML между настроенным IDP и SP работает нормально, я просто не могу войти в сам simpleSamlPHP как администратор.

...