在SharePoint 2010中使用WCF STS引导令牌(thinktecture身份服务器作为sts和ActAs)

时间:2012-01-12 15:32:31

标签: wcf sharepoint-2010 wif claims-based-identity sts-securitytokenservice

使用自定义STS时,是否有人在SharePoint 2010中使用过引导令牌。我几个小时以来一直在努力。每当我发出RST时,我都会收到以下错误消息:

ID4257: X.509 certificate 'CN=SharePoint Security Token Service, OU=SharePoint, O=Microsoft, C=US' validation failed by the token handler. 

我正在使用带有Thinktecture Identity Server的SharePoint 2010作为我的STS,并尝试使用委派调用WCF服务。我这一切工作正常,但我不能让代理使用引导令牌工作。

我猜测SharePoint必须以某种方式加密引导令牌?!任何帮助或指示?

2 个答案:

答案 0 :(得分:1)

您仍然可以使用自己的加密证书而不是Sharepoint STS解决此问题。

SecurityTokenHandler 在尝试验证引导令牌时发出此异常,并且他们发现令牌中的证书无效(默认为X509CertificateValidator)。

引导令牌中将出现的证书将是 SharePoint安全令牌服务

解决AFAIK问题的两种方法

  
      
  1. 复制" SharePoint安全令牌服务的公共部分"证书证书:STS机器中的LocalMachine \ TrustedPeople。您也可以编写自己的证书验证器。

  2.   
  3. 生产机器不是一个好的解决方案。设置certificateValidationMode ="无"在web.config中

  4.   

http://msdn.microsoft.com/en-us/library/hh598384%28v=vs.110%29.aspx

答案 1 :(得分:0)

通过将SharePoint STS证书添加为sts的加密证书,可以部分解决此问题。同样使用SPSecurityContext.SecurityTokenForContext似乎有助于获得ActAs令牌0,但我并不是100%确信我已经完成了所有工作!