2

我有一个要求cross domain sso。所以,我选择OpenAMSAML. 我有两个应用程序托管在不同的服务器和主机中,我需要为其实现SSO。现在我读到了OpenAM with SAML但可以得到关于设置的核心思想。LDAP用作用户数据存储。现在我有一些想法并想验证它是否符合我的要求。

  1. 因为我有两个应用程序(AppAAppB)需要 SSO 实现。我需要将两个 OpenAM 配置为服务提供者吗?并且应该部署在不同的tomcat容器中?每个都service providers应该部署在AppAand中AppB吗?
  2. 我需要另一个用于identity providerOpenAM 的单独的 tomcat 容器吗?
  3. sp应该注册到并且应该注册到idp同一个?idpspCircle of trust

我还需要做什么吗?我是否必须LDAP为每个idp和单独配置sp?无论如何,就我而言,理想的设置是什么?

4

2 回答 2

1

您需要一个 IdP,您的应用程序必须实施 SP。如果您的应用程序是基于 Java 的,您可以利用 OpenAM 的 Fedlet 或使用 Spring Security SAML 扩展(就像魅力一样工作)。

还有一个 PHP SAML SP,甚至还有一个 Apache http 服务器 SAML 模块......

或者您可以将 OpenIG 用作反向代理(但它是一个 Java Web 应用程序),它还实现了 SAML SP。

-伯恩哈德

于 2013-08-29T09:14:21.120 回答
0

您可以开箱即用地使用 OpenAM 的另一种可能的解决方案是使用 OpenAM 身份联合:

  1. 使用标准 OpenAM 身份联合设置(使用 IDP 和 SP),如本文所述:http: //fczaja.blogspot.com/2012/06/idp-initiated-sso-and-identity.html
  2. 您需要为 AppA 提供 IDP,为 AppB 提供 SP,反之亦然。IDP 将连接到您的用户存储。
  3. 在 SP 方面,使用 OpenDS 之类的东西创建一个虚拟用户存储。
  4. 将所有用户从 IDP 导入到 SP(使用计划的每日批处理作业)
  5. 基于一个或多个用户属性实现自动联合。
  6. 在 SP 端使用 OpenAM 授权功能来授予对 SP 端 App 的访问权限
于 2014-05-07T05:50:25.620 回答