gpt4 book ai didi

php - simpleSamlPHP 管理员登录重定向循环

转载 作者:行者123 更新时间:2023-12-04 16:43:11 27 4
gpt4 key购买 nike

我已经设置了 simpleSamlPHP 1.14,它在 IDP 和 SP 之间工作得很好,我们客户的用户可以成功进行身份验证和登录。不过,我需要进行一些更改,因此我尝试以管理员身份登录 simpleSamlPHP 本身。这会导致重定向循环,我可以看到它甚至没有尝试设置任何 cookie。这曾经有效,我不确定服务器上发生了什么变化导致了这个问题。我不想升级 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。

有人有其他建议吗?同样,配置的 IDP 和 SP 之间的 SAML 身份验证工作正常,我只是无法以管理员身份登录 simpleSamlPHP 本身。

最佳答案

就我而言,当单击“以管理员身份登录”时,我被无休止地重定向。
我发现问题出在这里:

/*
* Set the SameSite attribute in the cookie.
*
* You can set this to the strings 'None', 'Lax', or 'Strict' to support
* the RFC6265bis SameSite cookie attribute. If set to null, no SameSite
* attribute will be sent.
*
* Example:
* 'session.cookie.samesite' => 'None',
*/
'session.cookie.samesite' => \SimpleSAML\Utils\HTTP::canSetSameSiteNone() ? 'None' : null,
我强制它为空并显示管理员登录页面。
'session.cookie.samesite' => null,
LE:我也用过:
'session.cookie.path' => '/simplesaml/',

关于php - simpleSamlPHP 管理员登录重定向循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55271831/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com