【问题标题】:SAML2.0 SSO with the WSO2 Identity Server?SAML2.0 SSO 与 WSO2 身份服务器?
【发布时间】:2015-02-22 09:05:01
【问题描述】:

我需要将 WSO2 身份服务器与 SAML 一起用于我的内部应用程序的 SSO。我遇到了这个美丽的 SAML2.0 SSO with the WSO2 Identity Server article

但是我对这篇文章有两个问题,我不确定它是如何工作的

1) 在第 5 步中说“现在用户再次被重定向到 IDP。现在 IDP 意识到该用户已经通过身份验证,因此它会发出 不提示任何身份验证质询的 SAML 断言。"

IDP 将如何意识到用户已通过身份验证?

据我了解,它必须基于会话来完成。这是否意味着当身份验证请求从服务提供商 1 发送到身份服务器时(SP1 通过浏览器将请求重定向到 IS),IS 将首先验证凭据,如果成功,则将用户对象保持在会话状态。

现在,当第二个身份验证请求通过 SP2 发送到 IS 时,发送相同的会话 ID(假设请求是从同一浏览器的另一个发送的),IS 已经找到与此会话关联的用户对象,所以相信他。这种理解正确吗?

2) 在步骤 2 中说“现在 SP1 可以验证 IDP 发出的 SAML 断言并让用户登录。” 具体的字段/值是什么(在 IP 发送的 SAML 响应下),SP1 将验证?

3) 存储用户凭据的位置。是在 IS 端还是在服务提供商端?

【问题讨论】:

    标签: java wso2 single-sign-on saml


    【解决方案1】:

    只需解释它如何与 WSO2IS 5.0.0 一起工作

    1. 当用户通过提供凭据向 IDP 进行身份验证时。 WSO2IS 为用户创建一个经过身份验证的会话,并且 cookie 与在用户浏览器中设置的经过身份验证的会话相关联。 Cookie 名称为 commonAuthId。使用 SSO 通过 WSO2IS 进行身份验证后,您也可以在浏览器中找到它。然后用户尝试使用相同的浏览器访问另一个 SP,cookie 将被发送到 WSO2IS,它识别出存在与 cookie 相关的经过身份验证的会话。

    2. 通常,SP 验证 SAML2 响应和断言。您可以进行多种验证。但最常见的是

      • SAML2 响应和 SAML2 断言的签名

      • 有效期 SAML2 响应和 SAML2 断言。

      • SAML2 断言中的受众限制验证

      • 目标网址和收件人值

    通常会从主题标识符值中提取用户名。属性语句中也可能有属性,SP 也可以检索这些属性并对它们进行一些验证。

    1. 最终用户通过 IDP 的身份验证。因此凭据必须在 IDP 中,而不是在 SP 中。它是 SSO 的一种理念。将凭证保存在一处。 WSO2IS 默认附带基于 LDAP 的用户存储。因此,最终用户凭据存储在 LDAP 服务器中。但是,WSO2IS 可以与您喜欢的任何现有用户存储一起部署

    【讨论】:

    • 谢谢阿塞拉。更多澄清关于第一点解释的问题。WSO2 内部使用 tomcat 作为网络服务器吗?如果是,则可能不必创建名为 commonAuthId 的单独 cookie。 jseessionId 应该没问题。不是吗?第二个问题是只有从同一浏览器的选项卡发送请求时才会发送 cookie。如果从新窗口发送请求怎么办?
    • 关于第二点解释的问题。您说一种验证可以是“SAML2 响应和 SAML2 断言的签名”。是否服务提供商会将签名保存在属性文件中的某个位置。 SAML2 Response 和 SAML2 Assertion 之间的主要区别是什么?他们不一样吗?
    • 是的..它在Tomcat上运行... WSO2IS管理控制台部署为Tomcat中的Web应用程序...如果您登录管理控制台,它会创建一个Tomcat会话...但是tomcat会话是不用于 SSO 身份验证的用户... WSO2IS 为 SSO 身份验证的用户创建单独的小会话对象。因此它生成的cookie不会与其他人混淆......这取决于浏览器......我想如果你在新窗口中发送它会发送......但是当浏览器关闭时commonauthid cookie会过期
    • 不一样... 使用签名者的公钥验证签名。因此公钥必须在SP端...
    • 哦,看来我需要在 cacert 文件中添加公钥。是吗?您能否简要介绍一下黑白 SAML2 响应和 SAML2 断言的区别?可能我问的太多了,但我没有得到逻辑上的区别。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多