SimpleSAMLphp - SSO Azure 适用于 Firefox 和 Safari,但不适用于 Chrome 和 Edge

问题描述

我们正在尝试将 simpleSAMLPHP 设置为针对 Azure AD 的 SSO,以便与 Mediawiki 安装一起使用。

理想情况:
当有人登录 Mediawiki 时,该人应被重定向到 Azure AD。接下来,用户应该填写他的凭据并被重定向到 wiki。

现状:
我按照此处所述的步骤操作:https://medium.com/vivritiengineering/mediawiki-and-azure-single-sign-on-e3fbc13d1f46

SimpleSAMLPHP 设置在本地 Debian 服务器上。
Config.PHP 和 authsources.PHP 是为 Azure 和我们的租户设置的。

我们在 Azure 中创建了一个应用并填写了 2 个回复 URI:

  • https://ourSite/simplesaml/module.PHP/core/authenticate.PHP?as=default-sp
  • https://ourSite/simplesaml/module.PHP/saml/sp/saml2-acs.PHP/default-sp

问题:
在 Firefox 和 Safari 中一切正常:我转到“测试配置的身份验证源”-“default-sp”。
接下来我会看到一个 Microsoft 登录页面。 使用我的帐户登录后,simpleSAMLPHP显示我的元数据。正如预期的那样。

在 Chrome 和 Edge 中,当转到“测试配置的身份验证源 - default-sp”时,页面卡在重定向循环中:

我的尝试:

  1. 正在清除我的缓存和 cookie。
    结果:我看到了 Microsoft 登录屏幕,但在提交我的凭据后,我陷入了循环。
  2. 将 simpleSAMLPHP 中的 store.type 从“PHPSession”更改为“sql”(sqlite 和 MysqL 都尝试过)。
    结果:在 Firefox 和 Safari 中仍然有效。在 Chrome/Edge 中循环播放。
  3. Azure AD 中的新应用程序,结果相同
  4. simpleSAMLPHP config.PHP 中的不同设置
    结果:有时会破坏 simpleSAML,结果与上述大致相同。

我是 simpleSAMLPHP 的新手,经过几天的反复试验,我已经没有想法了(除了放弃 simpleSAML 并尝试切换到 LDAP)
似乎与浏览器/cookie/缓存有关。

提前感谢您的帮助!

解决方法

通过重新安装simpleSAMLphp并完全重做配置解决。 检查了旧配置和新配置,但我看不出区别。

我确实从 simpleSAMLphp-v1.19.0 恢复到 simpleSAMLphp-v.1.18.8,但我不敢说这就是原因。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...