45

(PaaS) として Azure でホストされている WCF サービスを作成しています。このサービスは、Sharepoint 2013 Online/Office 365 と通信する必要があります。

SharePoint クライアント オブジェクト モデルを使用して対話することを検討していましたが、「リモート サーバーがエラーを返しました: (403) 許可されていません」というエラーが表示され続けます。Live Id を使用してログインできるように、 https://login.microsoftonline.com/login.srfにアクセスします。問題は、Live Id ではなくフェデレーション アカウントを使用しているため、adfs サイトに再度リダイレクトされてログインすることです。http://www.wictorwilen.se/Post/How-to-do-active-authentication-to-Office-365-and-SharePoint-Online.aspxで、クレーム ベース認証を使用しているコード サンプルを見てきました。 、ただし、Saml トークンを取得しようとすると、これは常に「認証に失敗しました」というメッセージで失敗します。

これを正しく理解していれば。これを行う 1 つの方法は、Saml トークンを取得し、これを SPO に渡すことです。SPO は、クライアント オブジェクト モデルで行われた要求に含める必要がある 2 つの Cookie を返します。問題は、C# で Federated アカウントを使用して認証する方法に関する適切な例が見つからないことです。

私のWCFサービスがSharePointと通信することを承認する方法について、誰かが私を正しい方向に向けることができますか.

これが間違ったフォーラムにある場合は申し訳ありません。これが Azure の問題なのか、SharePoint だけの問題なのか、私はどちらのテクノロジにも慣れていないため、正確にはわかりません。

4

6 に答える 6

0

Wictor のサンプル コードを使用して、login.srf URL を ADFS ログイン エンドポイントに置き換えてみましたか?

これを試すときはフィドラーを開いたままにし、毎回要求/応答を調べます。おそらく、C# がオブジェクト モデルに隠している応答本文内で動作しない理由について、より詳細にわかるでしょう。

SOAP エンベロープを作成できるものを使用して ADFS から認証トークンを取得する方法については、このブログ投稿も確認してください。

http://leandrob.com/2012/02/request-a-token-from-adfs-using-ws-trust-from-ios-objective-c-iphone-ipad-android-java-node-js-or-任意のプラットフォームまたは言語/

于 2012-12-18T11:44:45.713 に答える
0

これが古い投稿であることは承知していますが、アプリ プリンシパルを使用せずにアプリを介して SharePoint Online を使用すると、使用許諾契約に違反する可能性があります。アプリ モデルを適切に使用するには、真の OAuth と SDK の一部である TokenHelper クラスを使用する必要があります。

于 2013-12-09T19:45:21.673 に答える
0

Office 365 SharePoint サイトを使用して、ACS を使用してプロバイダー ホスト型アプリとオンプレミスの SharePoint 2013 ファームの間に信頼を確立できる環境を作成します。これは、Office 365 SharePoint サイト用のアプリを開発する場合と同様です。さらに理解を深めるために、次のリンクにアクセスしてください: http://msdn.microsoft.com/en-us/library/office/dn155905(v=office.15).aspx

于 2014-03-07T13:55:38.550 に答える
0

こんにちは、数日前に Office365 リセラーとして登録した場合に備えて、私は 1 つの痛ましい教訓を学ばなければなりませんでした: 認証です。sharepoint から取得したトークンは 2 時間のみ有効です。たぶん、知っているSharepoint 15でそれが変わるでしょう...

既知の回避策がないため、これは貴重なヒントになると思いました...

于 2012-12-14T22:15:59.580 に答える
0

SharePoint オブジェクト モデルで同様の処理を行おうとすると、403 が返されました。それを修正するために私がしなければならなかったのは、ユーザーエージェントを含めることだけでした。

ここで回答します WebRequest を使用して Cookie を取得し、Sharepoint Online に自動的にログインすると、さまざまなエラーが発生します

それが助けになることを願っています。

于 2014-04-21T20:28:39.373 に答える