SustainsSys SAML 表单数据重复键问题

SustainsSys SAML form data duplicate key issue

我正在尝试在 SustainSys Stub IDP 页面上提交表单数据作为自动化测试套件的一部分,该套件在不涉及浏览器的情况下模拟 SAML 登录。

我正在提交表单数据 POST 请求,但表单数据中似乎没有提交表单所需的重复键。 请求看起来像这样:

request({
      method: 'POST',
      url: 'https://stubidp.sustainsys.com/{id}',
      form: true,
      body: {
          "AssertionModel.AttributeStatements.Index": "0",
          "AssertionModel.AttributeStatements[0].Type": "urn:oid:2.5.4.10",
          "AssertionModel.AttributeStatements[0].Value": "Test 123",
          "AssertionModel.AttributeStatements.Index": "1",
          "AssertionModel.AttributeStatements[1].Type": "https://some-url.com",
          "AssertionModel.AttributeStatements[1].Value": "001",
          "AssertionModel.AttributeStatements.Index": "2",
          "AssertionModel.AttributeStatements[2].Type": "https://some-url.com",
          "AssertionModel.AttributeStatements[2].Value": "Open",
          "AssertionModel.AttributeStatements.Index": "16",
          "AssertionModel.AttributeStatements[16].Type": "urn:oid:2.5.4.4",
          "AssertionModel.AttributeStatements[16].Value": 'Admin-Smith'
  }
    })

问题出在 "AssertionModel.AttributeStatements.Index" 属性上,因为我用于请求的 JS 库只发送了最后一个值为 16 的属性。因此,返回的 SAML 响应不正确。如何发送这些属性以便端点正确解析它们?

看起来 "AssertionModel.AttributeStatements.Index" 属性实际上并不是必需的。请求在没有这些的情况下工作。