ComponentSpace SAML - 在签名和发送之前增加 AuthnRequest XML

ComponentSpace SAML - Augment AuthnRequest XML before sign & send

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

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

如果有一种方法可以在签名和 'sending'.

之前访问和扩充生成的 XML 文档,那将会很方便

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

谢谢,卢克

我会在完成过程中进行更新。

ComponentSpace SAML 有一个低级别 API,您会发现一个 AuthnRequest 类型可用于构建您的请求。

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

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

卢克,关于你的评论,"It'd be convenient if there was a way to access and augment the generated XML document just prior to signing and 'sending'.",我们将对此进行调查。

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

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

AuthnRequest authnRequest = new AuthnRequest();
var doc = new XmlDocument();
doc.LoadXml("<myCustomField>123</myCustomField>");
authnRequest.Extensions = new Extensions();
authnRequest.Extensions.Data = doc.ChildNodes;