2012-03-08 97 views
2

我有一些工作代码,我一直在使用测试O365网站 - 它完美的作品。我可以使用Sharepoint客户端对象模型进行身份验证并获取数据。SAML令牌格式?

在另一个从BPOS迁移的站点上,基于声明的身份验证失败。具体而言,在SAML令牌对工作现场的结构是这样的:

<wst:RequestedSecurityToken> 
    <wsse:BinarySecurityToken Id="Compact0">bunch of token stuff here</wsse:BinarySecurityToken> 
</wst:RequestedSecurityToken> 

在不工作的网站,这部分是这样的:

<wst:RequestedSecurityToken> 
    <EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#" Id="Assertion0" Type="http://www.w3.org/2001/04/xmlenc#Element"> 
     <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"></EncryptionMethod> 
     <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
     <EncryptedKey> 
      <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"></EncryptionMethod> 
      <ds:KeyInfo> 
      <ds:X509Data> 
       <ds:X509SKI>stuff in here</ds:X509SKI> 
      </ds:X509Data> 
      <ds:KeyName>microsoftonline.com</ds:KeyName> 
      </ds:KeyInfo> 
      <CipherData> 
      <CipherValue>lots of stuff in here</CipherValue> 
      </CipherData> 
     </EncryptedKey> 
     </ds:KeyInfo> 
     <CipherData> 
     <CipherValue>Loads more stuff in here</CipherValue> 
     </CipherData> 
    </EncryptedData> 
</wst:RequestedSecurityToken> 

这是真的不同!据我所知,周边地区看起来差不多。

这是告诉我什么?该认证失败了?我使用的声明授权代码依赖于'BinarySecurityToken',所以这就是它失败的原因 - 它不在那里。

我需要调整一些共享点设置吗?联系MS支持?任何人?

+0

你有没有想过这个?我在找这方面遇到了麻烦。 – TroyC 2014-05-22 20:15:19

回答

1

这是使用KEK(密钥加密密钥)的加密响应。您需要发件人的公钥来解密EncryptedKey。这可以让你使用该密钥来解密CipherData,这正是我想的之后。