如何提交 OpenSaml 响应?
How to submit OpenSaml response?
我正在使用 openSAML v3.2.0 构建 org.opensaml.saml.saml2.core.Response。我已经在回复上签名并想提交它。
我尝试阅读 openSAML 书(OpenSAML v3 指南),但它似乎对我的情况没有帮助。我有一个 c# 演示项目,基本上通过 HTTPPost 提交响应。我在 java 中用 opensaml 写了同样的东西。我必须像书中建议的那样构建一个工件吗?本书示例建议我使用 SOAP 发送 ArtifactResolve,即使我正在构建响应。
使用上面的响应对象,我想 post 将响应对象发送给 idp。
实现此目标的最佳方法是什么?
- 创建一个信封对象是个好主意吗?使用 saml2 包中的响应对象,如何创建 org.opensaml.soap.soap11.Envelope?
非常感谢任何帮助!谢谢!
您不必像书中建议的那样构建工件。
使用 Artifacts 有一些安全、隐私和其他好处。
查看 Scott T. 的回答以了解使用 Artifact 绑定的好处 -
根据你的问题,
您还可以使用 POST 绑定将响应传递给 SP。
这样做的方法是将您的响应 XML(带有签名的断言)编码为 Base64 字符串,并将客户端网络应用程序 POST 发送到 SP ACS(断言消费者服务)。
您传递 SAMLResponse
参数并将 base64 字符串作为值和一个 RelayState
参数,该参数将用于在 SP 网络应用程序中设置状态,如 SAML 2 Bindings specification 中所写第 21 页。
此外,我建议使用 SAML tool 来验证您的回复消息。
我正在使用 openSAML v3.2.0 构建 org.opensaml.saml.saml2.core.Response。我已经在回复上签名并想提交它。
我尝试阅读 openSAML 书(OpenSAML v3 指南),但它似乎对我的情况没有帮助。我有一个 c# 演示项目,基本上通过 HTTPPost 提交响应。我在 java 中用 opensaml 写了同样的东西。我必须像书中建议的那样构建一个工件吗?本书示例建议我使用 SOAP 发送 ArtifactResolve,即使我正在构建响应。
使用上面的响应对象,我想 post 将响应对象发送给 idp。
实现此目标的最佳方法是什么? - 创建一个信封对象是个好主意吗?使用 saml2 包中的响应对象,如何创建 org.opensaml.soap.soap11.Envelope?
非常感谢任何帮助!谢谢!
您不必像书中建议的那样构建工件。 使用 Artifacts 有一些安全、隐私和其他好处。 查看 Scott T. 的回答以了解使用 Artifact 绑定的好处 -
根据你的问题, 您还可以使用 POST 绑定将响应传递给 SP。 这样做的方法是将您的响应 XML(带有签名的断言)编码为 Base64 字符串,并将客户端网络应用程序 POST 发送到 SP ACS(断言消费者服务)。
您传递 SAMLResponse
参数并将 base64 字符串作为值和一个 RelayState
参数,该参数将用于在 SP 网络应用程序中设置状态,如 SAML 2 Bindings specification 中所写第 21 页。
此外,我建议使用 SAML tool 来验证您的回复消息。