2012-03-08 133 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,這正是我想的之後。