1

我正在评估来自 ComponentSpace 与手动滚动的 SAML 库。我已经从头到尾阅读了这些文档。

到目前为止,事实证明它比手动编写请求节省了更多时间,但我的 IDP 使用了元素samlp:Extensions上的一个附加属性。samlp:Issuer

如果有一种方法可以在签名和“发送”之前访问和扩充生成的 XML 文档,那将会很方便。

我们的 IDP 也使用这个库(显然),因为他们使用所有这些额外的 XML 节点,我认为有一种方法。就是看不出来。

谢谢,卢克

4

3 回答 3

2

如果它可以帮助任何人,这是添加扩展的方法:

AuthnRequest authnRequest = new AuthnRequest();
var doc = new XmlDocument();
doc.LoadXml("<myCustomField>123</myCustomField>");
authnRequest.Extensions = new Extensions();
authnRequest.Extensions.Data = doc.ChildNodes;
于 2015-08-03T10:30:02.363 回答
0

当我完成它时,我会更新。

ComponentSpace SAML 有一个低级 API,您会找到一种AuthnRequest可用于构建您的请求的类型。

该类型有一个.Extensions属性,该属性采用Extensions其构造函数采用XmlElement.

至于SPProviderID元素,它可以作为参数提供给Issuer类型的构造函数,然后可以通过AuthnRequest.Issuer属性设置和应用。

于 2015-05-01T11:29:48.570 回答
0

Luke,关于您的评论,“如果有一种方法可以在签名和'发送'之前访问和扩充生成的 XML 文档,那将会很方便。”,这是我们将要研究的内容。

我们建议尽可能使用 SAML 高级 API,因为这意味着必须在应用程序中编写更少的代码。此外,我们建议尽可能避免使用扩展。但是,有时您必须在典型用例之外做一些事情,这需要恢复到低级 API。我们将考虑将您建议的支持添加到高级 API。谢谢。

于 2015-05-09T01:46:44.903 回答