SAML SSO客户端,测试模拟器SAML提供者/服务器
SAML,SSO是我项目中的一项新功能。我没有足够的时间去尝试找到正确的工具/ API。请求你帮忙。SAML SSO客户端,测试模拟器SAML提供者/服务器
我需要实现必须能够发送SAML断言并从SAML提供者/服务器接收SAML响应的SAML客户端(在Java上)。 我应该使用哪种Java API来编写Java中的SAML客户端?
而且我们的客户已经有SAML响应者/服务器,它接收SAML请求并发送带有用户配置文件和其他信息的SAML响应。但是我们需要编写测试模拟器SAML应答器/服务器。我已经使用Apache & Tomcat服务器。 我应该使用哪个服务器/ API来实现此测试模拟器SAML响应器/服务器?
我在客户端使用Open SAML,在服务器端使用简单的HTTP请求/响应,因为我没有太多的SAML请求类型。所以最好不要在服务器端使用如此复杂的Web服务和SAML API。
我们使用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运行JAVA客户端并通过HTTPS发送SOAP(使用Apache + Tomcat)。你正确的,我需要写一个身份提供者;客户已经拥有它;现在我需要处理SAML请求并从身份提供者发送SAML响应。如果我可以将MIME类型设置为xml,并使用SOAP信封(可能为String模板)在SAML中发回HTTPS响应,我相信我的模拟器身份服务器足够好。任何进一步的建议。 – 2010-12-02 07:11:39