php - SimpleSAMLphp - SSO Azure 适用于 Firefox 和 Safari,但不适用于 Chrome 和 Edge
问题描述
我们正在尝试针对 Azure AD 将 simpleSAMLphp 设置为 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”时,页面卡在重定向循环中:
- https://login.microsoftonline.com/**newSamlRequest* *
- https:// ourSite /simplesaml/module.php/saml/sp/saml2-acs.php/default-sp
- https:// ourSite /simplesaml/module.php/core/authenticate.php?as=default-sp
- 重复
我尝试了什么:
- 清除我的缓存和 cookie。
结果:我看到了 Microsoft 登录屏幕,但在提交我的凭据后,我陷入了循环。 - 将 simpleSAMLphp 中的 store.type 从“phpSession”更改为“SQL”(SQLite 和 MySQL 都试过)。
结果:在 Firefox 和 Safari 中仍然有效。在 Chrome/Edge 中循环。 - Azure AD 中的新应用程序,结果相同
- simpleSAMLphp config.php 中的不同设置
结果:有时会破坏 simpleSAML,大部分结果与上述相同。
我是 simpleSAMLphp 的新手,经过几天的反复试验,我没有想法(除了放弃 simpleSAML 并尝试切换到 LDAP)
它似乎与浏览器/cookie/缓存相关。
提前感谢您的帮助!
解决方案
通过重新安装 simpleSAMLphp 并完全重做配置来解决。检查了新旧配置,但我看不出有什么区别。
我确实从 simpleSAMLphp-v1.19.0 恢复到 simpleSAMLphp-v.1.18.8,但我不敢说这是原因。
推荐阅读
- python - 单击按钮时打开窗口,关闭新窗口时隐藏父级并再次显示父级pyqt
- javascript - 在我的 redux 商店中,我的套接字放在哪里?
- c# - 在 MS Access 中过滤存储查询的结果
- node.js - 使用 .js 函数获取 .ejs 的价值
- java - 为什么 Jacoco 合并不包括文件?
- javascript - 尝试在 .append() / 标签中引用值时发生错误
- php - 下拉值和php
- excel - 根据下拉列表过滤多个工作表
- flutter - 如何获取 API 端点对 Flutter 应用程序的响应(音频文件)?
- php - 在 PHP MVC 架构中处理表单