在 IDP 启动的 Web SSO 中使用 C# 和 .NET 4.5 创建 SAML 2.0 响应

Creating SAML 2.0 Response with C# and .NET 4.5 in IDP Initiated web SSO

我正在为我们的 Web 应用程序(CRM 门户)进行 Web SSO 集成(IDP 启动的流程),用户使用 AD 凭据登录并通过传入我们的客户访问服务提供商 (SP) 上的资源 details.Our 服务器在 windows 2012 R2(ADFS 3.0) 上。我可以让 SP post 对 Web api (4.6,C#) 的 SAML 请求,创建 SAML 2.0 响应使用第三方程序集(ComponentSpace)并在对断言进行数字签名和加密后将其发送给 SP,而不是依赖 ADFS 3.0 生成 SAML 2.0 响应?我们的 SP 希望将一些自定义属性添加到 SAML 响应中,并且索赔信息驻留在 sql 服务器数据库中。您是否看到手动生成 SAML 响应(在 Web API 内)而不是依赖 ADFS 3.0 的任何安全问题?手动创建 SAML 响应背后的原因是使用 ADFS 3.0 很复杂,我们的支持团队太忙了查看我们的支持票

在与 ComponentSpace 支持取得联系后,事实证明我不必使用 ADFS 来创建 SAML response.All 我要做的是从 sql 服务器数据库获取索赔详细信息并按照 on their forum

的描述将其传递给他们的 SAMLIdentityProvider.InitiateSSO()

更新: 由于与获得批准相关的组织延迟,无法使用组件空间库,我最终手动创建了 saml 响应 thanks to this GitHub Repo