gpt4 book ai didi

java - 如何将 SAML token 直接放入 JAX-WS 服务而不调用 STSClient

转载 作者:行者123 更新时间:2023-11-30 06:42:02 25 4
gpt4 key购买 nike

去年我为 this link 中的 Web 服务制作了 JAX-WS 客户端

此 Web 服务使用 STS service 来获取 SAML token 并使用它来访问主 Web 服务。我使用 apache cxf 的 wsdl2java 来为此 Web 服务生成 JAX-WS 客户端。一切都很好。

最近他们更新了他们的 STS 服务端点。 This 新的 STS 服务端点。其中有不同的签名和摘要算法。它在请求正文中有一些额外的元素。

我尝试修改当前代码以使其支持新的STS服务。但我的代码正在发送相同的 RequestSecurityToken 请求。我的意思是它不适应新的要求。我尝试采用这个,但我做不到。

新的STS服务需要http://www.w3.org/2001/04/xmldsig-more#rsa-sha256作为新的签名方法和http://www.w3.org/2001/04/xmlenc#sha256作为新的摘要算法。另外,它在请求正文中需要以下元素:

    <tr:ActAs xmlns:tr="http://docs.oasis-open.org/ws-sx/ws-trust/200802">
<v13:RelationshipToken xmlns:v13="http://vanguard.business.gov.au/2016/03" ID="1bc9a44e-dccd-49e2-8f29-40d7b1257325">
<v13:Relationship v13:Type="OSPfor">
<v13:Attribute v13:Name="SSID" v13:Value="1234567895"/>
</v13:Relationship>
<v13:FirstParty v13:Scheme="uri://abr.gov.au/ABN" v13:Value="27809366375"/>
<v13:SecondParty v13:Scheme="uri://abr.gov.au/ABN" v13:Value="89567587874"/>
</v13:RelationshipToken>
</tr:ActAs>

此外,这里还有一些细微的差别。我现在想有两种办法:

  1. 如果我可以将旧代码更改为 STS 客户端,则发送带有这些值的请求。我尝试过但没有成功。
  2. 他们提供了一些支持从STS客户端获取SAML断言 token 和证明 token 的代码。如果我可以将 SAML 断言 token 直接放入我的 JAX-WS 客户端,那么这个问题也可以解决。

如有任何帮助或建议,我们将不胜感激

最佳答案

SHA-256 摘要算法通常通过使用需要它的 AlgorithmSuite 策略(例如 Basic256Sha256)来设置。我在政策中看到他们仍在使用“Basic256”。 CXF 允许您通过一些配置属性配置 RSA-SHA256(例如,请参阅此处的“ws-security.asymmetry.signature.algorithm” http://cxf.apache.org/docs/ws-securitypolicy.html )。您可以直接在STSClient上设置ActAs Object/Element。

关于java - 如何将 SAML token 直接放入 JAX-WS 服务而不调用 STSClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44243663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com