我一直在开发一个Symfony应用程序(学习Symfony的目的是用它替换现有的#34;旧学校和#34; PHP脚本)并且遇到了问题,因为它背后的问题" #34;我们的Shibboleth身份验证。
为什么这样?对于这个应用程序,我需要$ _SERVER [' REMOTE_USER']。该应用程序没有本地帐户,用户无法登录该应用程序,但是,与许多资源一样,我们通过某种形式的身份验证来保护它们。
我有两个站点 - 在同一物理服务器上运行的虚拟主机。 (CentOS 7)。第一个站点的.htaccess文件中包含以下内容:
authtype shibboleth
ShibRequestSetting requireSession 1
require valid-user
我有一个" phpinfo.php"也可以运行该脚本,并在Shibboleth身份验证步骤之后获取包含REMOTE_USER正确值的输出。
其他虚拟主机设置为Symfony 3.1应用程序。我已经将这三行添加到了#34; .htaccess"的顶部。文件 - 但在经过Shibboleth身份验证步骤后,浏览器进入循环并继续前进。 (在Chrome中,' favicon'被循环箭头取代,它永远不会停止转动。)
如果我点击然后查看此静止页面的来源,我会看到以下错误消息:
Error Message: Error decoding authentication request message
我不确定如何开始解决这个问题,并希望有人看到这个并知道如何提供帮助。
感谢。
最佳, 斯蒂芬
答案 0 :(得分:0)
如果我理解得很清楚,那么您正试图让服务提供商成为Symfony的一部分,而您已经有一个IDP与Shibboleth合作。
在我的情况下,我也有类似的问题,这是因为在断言之后apache SP返回到根URL。我在阅读了大量文档后了解到,如果设置不正确,可以在名为homeURL的shibbolet2.xml配置中添加一个属性:
<ApplicationDefaults entityID="https://sso/saml2/idp/metadata.php"
REMOTE_USER="mail"
homeURL="https://symfonyApp/redirect/after/login">
尝试并重新启动shib守护程序:/etc/init.d/shibd restart
也可能是另一个。但是听起来我的SP方面存在一些错误配置。