【问题标题】:SAML SSO client, Test simulator SAML Provider/ServerSAML SSO 客户端,测试模拟器 SAML Provider/Server
【发布时间】:2010-11-27 12:21:30
【问题描述】:

SAML,SSO 是我项目中的一项新学习。我没有足够的时间去尝试找到正确的工具/API。请求您提供帮助。

我需要实现 SAML 客户端(在 Java 上),它必须能够发送 SAML 断言并从 SAML 提供者/服务器接收 SAML 响应。 我应该使用哪个 Java API 在 Java 中编写 SAML 客户端?

我们的客户已经拥有 SAML 响应者/服务器,它接收 SAML 请求并发送带有用户配置文件和其他信息的 SAML 响应。但是我们需要编写测试模拟器 SAML 响应者/服务器。我使用过 Apache 和 Tomcat 服务器。 我应该使用哪些服务器/API 来实现此测试模拟器 SAML 响应程序/服务器?

【问题讨论】:

    标签: java single-sign-on saml


    【解决方案1】:

    我们使用 OpenSAML,它非常灵活且不难学习/使用。我用它来编写服务提供者(包括一些客户端定制的版本),处理请求和非请求的 SAMLResponse XML,将 AuthnRequests 发送到身份提供者,调用 IdP AttributeQuery 服务,并模拟身份提供者 SAMLResponse XML(用于测试)。

    根据您的描述,我认为您将编写身份提供者部分?如果您只是在做简单的未经请求的 SAMLResponse XML,那么 OpenSAML 对您来说可能是多余的。如果您的 XML 消息基本相同,只是在请求之间更改了一些内容元素,那么您可以使用简单的字符串模板并填写少数更改的元素,而无需特殊的 SAML 库。

    你说的一件事让我很困惑:

    我们的客户已经拥有 SAML 响应者/服务器,它接收 SAML 请求并使用用户配置文件发送 SAML 响应

    如果他们是服务提供商并且这是 SAML SSO,那么他们会通过浏览器请求接收 SAMLResponse XML,并通过在用户浏览器中显示内容来做出响应。他们不会向您发送包含用户资料的回复。您可能没有时间进行试验,但我建议您花一点时间阅读 SAML 文档 - 即使只是阅读 SAMLOverview 也应该让您有更多的基础。

    【讨论】:

    • Tnx 很多,最后我得到了一些线索。是的!我们有几组 SAML 请求和响应。现在我有一个使用 OpenSAML 运行并通过 HTTPS(使用 Apache + Tomcat)发送 SOAP 的 JAVA 客户端。你说得对,我需要写一个身份提供者;客户已经拥有它;现在我需要处理 SAML 请求并从身份提供者发送 SAML 响应。如果我可以将 MIME 类型设置为 xml 并使用 SOAP 信封(可能是字符串模板)在 SAML 中发回 HTTPS 响应,我相信我的模拟器身份服务器已经足够好了。任何进一步的建议。
    • 真正有助于确定您要实现的内容是这样的描述:“我正在尝试使用 HTTP Post 绑定为 SAML Web 浏览器 SSO 配置文件实现身份提供程序。”您对 SOAP 的引用表明这不是您正在做的事情。您可以尝试使用对 SAML 配置文件和绑定的引用来描述您的场景吗?您的客户端是否为 AuthnRequest 使用 HTTP Artifact 绑定?
    • 谢谢!用户将使用登录凭据运行 Java-Swing 客户端并访问身份提供程序,这是基于 SSO 的登录。现在我的客户端浏览器(需要 authentn+Authoztn)使用 HTTP 工件,例如 https://:/login.jsp?artifact=。 Web 服务器解析工件并获取身份提供者位置并发送 SAML 请求,并根据上面使用 Java-Swing 客户端完成的登录获取带有授权详细信息的 SAML 响应。现在我可以通过在 HTTP 查询字符串中传递工件来在 Web 服务器上执行任何 HTTPS 操作(无需任何登录)。
    【解决方案2】:

    我在客户端使用 Open SAML,在服务器端使用简单的 HTTP 请求/响应,因为我没有那么多 SAML 请求类型。所以最好不要在服务器端使用如此复杂的 Web 服务和 SAML API。

    【讨论】:

      【解决方案3】:

      OpenSAML 是一组开源 C++ 和 Java 库,旨在支持使用安全断言标记语言 (SAML) 的开发人员。 见openSAML API

      【讨论】:

        猜你喜欢
        • 2017-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-25
        • 2020-10-23
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多