sp发起了saml sso身份验证

问题描述 投票:0回答:2

我正在研究SP发起的saml sso,这对我来说是全新的。我已经阅读了很多文章和视频(维基百科,centrify chalktalk,中等帖子),但我无法理解一些事情:

  1. saml断言是SAML令牌吗?如果没有,那么它是如何产生的?
  2. 假设我有一个基于saml的IdP和两个支持saml的SP。现在在纯粹的后绑定中,当我登录其中一个SP然后登录到第二个SP时,第二个SP如何登录?更确切地说,第二个SP如何知道用户已经登录到第一个SP?什么是决定它的参数? (我可以对此进行更多低级别的解释)。 IdP是否在cookie中存储有关会话的数据,或者是否存在我错过的其他内容。

如果有任何基于此的文章,请发布它们。

谢谢。

authentication single-sign-on saml identity-management
2个回答
0
投票
  1. 是的,Assertion本身通常是一个完全可移植的令牌,但有一些方法可以将它绑定到请求者上的键。
  2. 第二个SP现在已经登录用户.SP将使用对IDP的身份验证请求将用户重定向到IDP。 IDP通常在第一次进行身份验证时为用户保存cookie,这不是由SAML指定的,而是通常如何完成的。当用户到达IDP时,IDP查看cookie,如果用户认证仍然有效,则IDP会自动向SP发送有效的断言/令牌。通过在身份验证请求中指定ForceAuthn属性,SP可能会覆盖此行为。

至于资源,我会推荐OASIS http://www.oasis-open.org/committees/download.php/27819/sstc-saml-tech-overview-2.0-cd-02.pdf的SAML技术概述


0
投票

让我先回答您的具体问题点:

1)saml断言是否是SAML令牌?如果没有,那么它是如何产生的?

- 这只是同一件事的术语。 SAML断言和SAML令牌是一回事。有两个不同的SAML断言/令牌对您来说非常重要。 SAML请求和SAML响应。 SAML请求是从SP发送到SPL发起的SAML SSO中的IDP的请求。 SAML响应是从IDP发送到SP作为​​SP发起的最后部分或在IDP发起的SAML SSO期间发送的响应。 SP启动是指用户在SP应用程序启动,重定向到IDP进行身份验证,然后由IDP发送回SP应用程序。 IDP启动是指用户从IDP开始,然后直接进入SP。 SAML断言只是已经签名的XML,转换为字符串和base 64编码。它们被用户从SP重定向到IDP并返回。

2)假设我有一个基于saml的IdP和两个支持saml的SP。现在在纯粹的后绑定中,当我登录其中一个SP然后登录到第二个SP时,第二个SP如何登录?更确切地说,第二个SP如何知道用户已经登录到第一个SP?什么是决定它的参数? (我可以对此进行更多低级别的解释)。 IdP是否在cookie中存储有关会话的数据,或者是否存在我错过的其他内容。

- 这是您的IDP特有的。作为Centrify SME,我可以告诉您Centrify和类似的IDP如何运作。当用户登录IDP时,无论是来自SP发起的重定向,是企业计算机上的IWA,还是直接登录到IDP本身,都会向浏览器添加cookie。对于Centrify,此cookie称为.ASPXAUTH。每次登录后用户被带到IDP,都不会提示他们再次登录。因此,如果用户从SP1开始,被重定向到IDP,登录并重定向回来,则IDP已设置cookie。现在,如果他们转到SP2,默认情况下SP也会重定向到IDP,但由于设置了cookie,IDP不会再次提示auth。因此,用户不会注意到重定向,而IDP只会通过适当的SMAL响应将它们发送回SP2。所以像这样:

SP1> SAML请求并重定向到IDP>登录到IDP并设置cookie> SAML响应并重定向回SP1>导航到SP 2> SAML请求并重定向到IDP> Cookie已设置,因此立即重定向回SAM到SAML响应。

Centrify还有可供SP使用的API。例如,SP可以对/ security / whoami进行客户端API调用,以查看是否存在有效的ASPXAUTH cookie。因此,SP2可以检查有效的cookie并决定重定向,因为cookie已经设置好了。 https://developer.centrify.com/reference-link/securitywhoami

希望这会有所帮助。我在Centrify中用c#写了一个非常基本的例子。你可以在这里找到代码https://github.com/centrify/CentrifySAMLSDK_CS。欢迎随时与更多问题联系,或在twitter https://twitter.com/NickCGamb上找到我

© www.soinside.com 2019 - 2024. All rights reserved.