テスト用のO365サイトで使用している動作するコードがいくつかあります。完全に動作します。SharePointクライアントオブジェクトモデルを使用して、認証とデータのプルを行うことができます。
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」に依存しているため、失敗するのはそのためです。
微調整する必要のあるSharePoint設定はありますか?MSサポートに連絡しますか?誰?