我正在使用Java消费SAML post请求。
这里我需要构建SAML请求并需要将其发送到SAML sos服务器,我不知道如何使用Java实现它,因为我检查了 httpPost 客户端和相关的东西,但我没有取得任何成功。
任何人都可以指导我如何使用Java来使用基于SAML的SSO请求吗?
谢谢, Kuldeep
答案 0 :(得分:0)
您需要从Http Post Request的Body中读取SAMLResponse,就像您读取表单中发送的任何其他值一样,然后使用适当的库(如XMLBeans)来解析和读取XML的值。 该值以base64编码形式出现,因此首先解码它,然后解析XML,然后验证XML签名(如果需要),然后使用这些值。 这里给出一个例子:https://github.com/oaeproject/SAMLParser/blob/master/src/main/java/org/sakaiproject/SAMLParser/SAMLParser.java
我建议您在实施之前了解SAML 2.0的工作原理,我发现维基百科的文章非常有用:https://en.wikipedia.org/wiki/SAML_2.0