2

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

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

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

4

3 回答 3

7

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

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

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

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

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

于 2010-12-01T16:52:25.093 回答
1

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

于 2011-05-10T07:27:18.193 回答
0

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

于 2012-02-27T05:51:13.913 回答