Web服务和STS(SecurityTokenService)之间如何建立信任关系?

问题描述:

我正在研究经纪人身份验证,联邦等。在所有博客上提到安全令牌服务和其他网络服务之间存在“信任”。但是,我找不到解释如何建立该信任的博客。Web服务和STS(SecurityTokenService)之间如何建立信任关系?

问题:

  1. 这件事情让其他Web服务信任STS?即我们如何在STS和其他网络服务之间建立信任?
  2. 其他Web服务如何验证安全令牌是由他们信任的STS发布的,而不是由其他STS发布的?

我知道各种技术会以不同的方式来做。如果有人解释它是如何在.NET世界中发生的(使用WCF,Windows Identity Foundation等),这将是一件好事。

+1

您是否阅读http://download.microsoft.com/download/7/D/0/7D0B5166-6A8A-418A-ADDD-95EE9B046994/WindowsIdentityFoundationWhitepaperForDevelopers-RTW.pdf? – 2013-02-14 18:28:38

它使用X509证书完成。

SecurityTokenService(STS)“使用其他服务所信任的证书签署SAML令牌”。因此,信任是通过共同的东西来建立的,即STS和其他服务也信任的证书!

在调用其他Web服务时,由STS发出的SAML令牌通过SOAP头发送。如果SAML令牌由您的其他服务信任的证书签名,则您的服务理解该令牌由“受信任”的STS颁发。

Windows Identity Foundation中,对于STS,您可以configure the signing certificate。 在其他Web服务的情况下,可信certificate can be configured in the Service Host using ServiceCredential class