4

我需要为我们的 Web 应用程序和服务实现 STS-IP 服务器。服务器将需要为以下场景颁发 SAML 令牌:

  1. 业务合作伙伴提交他们的 SAML 令牌,该令牌将转换为带有我们应用程序所需声明的 SAML 令牌。此令牌用于访问我们的 Web 应用程序和服务。
  2. 我们面向公众的应用程序需要用户登录(通过表单身份验证),然后使用 SAML 令牌访问我们的 Web 应用程序和服务。
  3. 我们的客户端(没有 STS 信任)需要向我们的 STS-IP 服务器进行身份验证,获取 SAML 令牌,并使用该令牌来访问我们的 WCF 服务。

在所有 3 个场景中,我们都需要对我们的应用程序和服务使用的 SAML 令牌进行自定义声明。我们的想法是一旦我们识别出用户,我们就会在我们的后端系统中查找他们的授权并附加声明。

在这些场景中,您可以假设后端身份验证存储是自定义实现,身份验证存储在 Active Directory 中,授权存储在数据库中。

所以我的想法是,我们需要使用 Windows Identity Framework 之类的东西创建一个自定义 STS-IP 服务器。但我也一直在读到你不应该这样做,因为这可能需要一些时间。

我可以使用现成的 STS-IP 服务器吗?我所看到的一切都是一个系统到另一个系统之间的映射(SAML 到 SAML 或 AD 到 SAML)。

为什么构建生产就绪的 STS-IP 会“花费很长时间”?我很容易使用 WIF 构建了一个,但我想我不明白这样做的风险。

4

5 回答 5

1

就“这将需要很长时间”而言,显示如何执行此操作的文档非常差。见这里:http ://social.msdn.microsoft.com/Forums/en-US/Geneva/thread/257d93be-165e-45a6-a277-fc7ed2286e7d/

无论如何,您只需要查看 Microsoft 提供的代码示例:Google for Identity Developer Training Kit。这应该可以帮助您入门。

于 2010-07-27T21:11:09.480 回答
1

为什么不考虑使用 ADFS?如果身份验证的后备存储是 AD,那么 ADFS 可能是一个很好的评估候选者。

于 2010-07-30T22:01:50.310 回答
1

在编写自己的 STS 之前,您可能需要查看此博客并仔细查看 STS 中可能需要的功能。仅仅因为您可以自己构建一个,并不总是意味着您应该这样做。

将 adfs 扩展到多个身份和属性存储

于 2012-05-29T22:08:18.107 回答
0

他们“为什么不”相对简单:为什么要花费数周时间来构建可能只处理单个用例的东西,而您可以在一天内放入现成的 STS 来涵盖您公司可能出现的各种事情跟上?自己构建它还需要您成为 SAML 方面的专家(这可能不是您公司时代最好的我们)。

退房——http: //www.pingidentity.com/our-solutions/pingfederate.cfm

祝你好运——伊恩

于 2010-07-30T14:12:24.413 回答
0

同意@eugenio - 为什么不使用 ADFS?

如前所述,ADFS 只能针对 AD 进行身份验证,但它可以从 AD / LDAP / SQL 服务器派生授权属性

VS 2010 以及身份工具包中提供了 STS 的螺母和螺栓。一个简单的 STS 可以快速制作原型。

有一些可用的示例。已经提到StarterSTS 和SelfSTS

困难的部分是获得安全权利,特别是如果这将成为生产系统的一部分。根据“Steve on Security”构建您自己的目录联合服务

听起来我认为开发这个系统并让它安全运行将是同步的,但实际上需要进入它来保护网络、员工和数据,这可能与。。。相互作用。很难安全地开发应用程序。开发仅负责与安全相关的安全应用程序要困难得多。

这就是为什么网上所有的样本都有粗体的免责声明:

不要在生产环境中使用

于 2011-03-07T21:18:27.737 回答