安全 - 如何提取 SOAPInput Auth Headers?

Security - how to extract SOAPInput Auth Headers?

我想从 SOAPInput 节点(在 Basic 中)获取 SOAP Auth Headers 以进行进一步处理。问题是它们在 trace/debug 中不可见,并且它们仍然以某种方式用于授权。根据我在文档中看到的内容,IIB 存储安全令牌并在需要时在某些节点中使用它们。问题是我的流程有点复杂,我需要检索这个 base64 编码的字符串。

我尝试制作安全配置文件并应用到 BAR 文件中的流程,但没有发现任何变化:

mqsicreateconfigurableservice broker -c SecurityProfiles -o viewAuth -n mapping,mappingConfig,passwordValue -v "WS-Trust v1.3 STS",http://linktomyservice:7800/service,PLAIN

谢谢。

使用 SOAPUI 时,当您通过单击 "Add New Authorization" 添加基本身份验证 header 时,您必须输入 username/password。在同一个 window 的下方,您有一个名为 "Pre-emptive auth" 的字段。您必须 select "Authenticate Pre-emptively" 之后,在 IIB 中您会看到授权字段被填充到 HTTPHeader 下。下面是我在调试模式下通过 运行 IIB 工具包提取的 http 输入 header 的摘录。

HTTPInputHeader
X-Original-HTTP-Command:CHARACTER:POST http://XXXXXXX HTTP/1.1
Accept-Encoding:CHARACTER:gzip,deflate
Content-Type:CHARACTER:text/xml;charset=UTF-8
SOAPAction:CHARACTER:""
Authorization:CHARACTER:Basic asdfsdfasdfasdfsdf
Content-Length:CHARACTER:254

要保存授权,您可以使用下面的 esql 语句在环境树中保存授权值。

SET Environment.Authorization = InputRoot.HTTPInputHeader."Authorization";

我尝试了一个带有 IIB 的小型 POC,它对我有用。