我们使用SAML 2.0在我们的网络产品(app1)中实施了单点登录 - 我们的产品是服务提供商。现在我们的一个客户要求app1中的链接将用户带到他们的网络应用程序(app2),他们希望用户单点登录他们的应用程序。我假设他们的app(app2)将使用与app1使用相同的IDP。
根据我的理解,我认为指向app2的AssertionConsumer的链接应该可以完成。当点击app2的链接时,app2的AssertionConsumer将能够处理来自app1的声明。如果有人会报名参加,如果我错过了什么,请告诉我。
答案 0 :(得分:0)
app2在用户到达时是否进行被动身份验证?如果是这样,你应该只链接到app2中的任何页面,让它负责向IdP询问用户的登录状态,而不是试图告诉它。
如果app2没有自动检查IdP,那么您应该链接到app2中需要身份验证的页面,这样就可以了。
一般来说,IdP的重点在于它是 SP所信任的东西,告诉他们是否(以及如何)对用户进行身份验证,因此您不应该尝试构建 SP之间的额外信任系统。 (如果他们暗示彼此当前用户已登录,或者特别是某人,那就没关系了,但他们应该在相信之前检查IdP 。)
答案 1 :(得分:0)
您不应链接到Assertion使用者URL。您链接到app2中的相关页面。 App2将检测到用户未经过身份验证,并将其发送给IDP进行身份验证。 IDP将检测用户是否已经过身份验证,并将用户返回到最初发送到的页面。