php - 在 Multi-Tenancy 应用程序中使用 SimpleSAMLphp

标签 php single-sign-on saml multi-tenant simplesamlphp

我们应用程序的租户有自己的子域,例如customer1.domain.com,尽管它是一个代码库。一些租户希望 SP 使用 SAML 发起 SSO。

实现这一目标的最佳方法是什么?

  1. 静态共享子域上的 SimpleSAMLphp,例如sso.domain.com/saml/
  2. SimpleSAMLphp 作为租户的一部分,例如customer1.domain.com/saml/

如果我们选择选项 1,我们如何知道传入的 SAML 请求是针对哪个租户的?

如果我们选择选项 2,您建议如何为元数据/authsources 配置 SimpleSAMLphp,因为它似乎只支持硬编码文件。

谢谢

最佳答案

在我的一个前雇主那里,我们有一个类似于选项 2 的设置,它对我们来说效果很好。唯一的区别是域对于每个客户端都是唯一的,并且他们将 SAML 发布到/index.php

客户 1

client1.com/index.php

客户端2

client2.com/index.php

我们为每个客户端使用了一个监听器来触发 SAML 负载的处理。

我们必须在 authsources.php 中为每个客户端配置 key 和源名称(每个客户端的源名称是唯一的)。我们还为每个客户端使用了不同的 key ,您也可以为所有客户端使用一对 key ,但不太安全

我们还必须在 saml20-idp-remote.php 中为每个客户端配置指纹。

关于php - 在 Multi-Tenancy 应用程序中使用 SimpleSAMLphp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30352199/

相关文章:

php - 如何使用 Zend_Db_Adapter_Mysqli 启用 MySQL 的严格 sql 模式?

javascript - 尝试根据用户点击的内容显示显示的数据

c# - Winforms Web 浏览器控件上的单点登录

openssl - Spring saml - 在SP上启动登录时如何记住请求参数,并在IdP响应后处理它们

saml - JWT 和 SAML 的区别?

php - 保存后下拉选择

php - 为什么 ${0x0} 是正确的?

java - ForgeRock(针对 SSO)登录和注销的预期行为

c# - 反序列化对 Saml2SecurityToken 的 SAML2 响应时出错

openid - 去中心化 ID (DID) 相对于联合身份的优势