多个SP SSO场景中SP和IDP之间的连接

时间:2015-06-16 06:50:36

标签: saml saml-2.0

长话短说。客户同时拥有SP(称为SP1)和IDP。我们正在集成我们的应用程序(称为SP2)以服务受保护的资源。在IDP(典型的SSO服务)验证主体身份后,该资源将可用。以下场景是这样的:

1. Pricipal enters SP1.
2. No security context has been created for the user yet, so he logs to IDP.
3. After a sucessful login, the user tries to access a resource on SP2 from SP1.
4. Request comes to SP2, which needs to verify principal identity.
5. SP2 tries to log in to IDP (HTTP Redirect Binding).
6. IDP verifies there is a security context and does not offer a login form but strikes back with assertion.
7. Resource is served.

问题1 - 为了测试我正在使用shibboleth IDP和SP2的oiosaml java库。 IDP(步骤6)如何验证用户是否已登录?是否通过存在一些cookie进行检查?它是特定于供应商的检查吗?

问题2 - SP2 IP不是外部的,因此我们需要在SP1和SP2之间以及SP1和SP2之间创建隧道。是否有任何标准方案可以在不按IDP的情况下验证主要权限(步骤5)?

1 个答案:

答案 0 :(得分:3)

据我所知,没有具体说明IDP如何跟踪安全上下文。但我从来没有见过任何其他东西而不是饼干。

我不确定你需要隧道。 SP1和SP2之间不会仅在SP和IDP之间进行任何直接通信。如果您使用POST绑定来提供SAML断言,那么也不会有直接通信。在这种情况下,所有通信都将通过浏览器进行。

这意味着浏览器必须能够连接到所有节点,但节点不需要连接到彼此。如果您使用POST绑定而不是Artifact Binding。