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"
属性实际上并不是必需的。请求在没有这些的情况下工作。
我正在尝试在 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"
属性实际上并不是必需的。请求在没有这些的情况下工作。