私はかなりシンプルであるべきだと思うシナリオを持っていますが、解決策を見出すことはできません。シェアポイントページから365の認証されたWeb APIをオフィスに呼び出すjavascript
セットアップ:
1)SharePoint OnlineのWebサイト(ユーザーがページを見るために認証を受ける必要があります)
2).NET MVCのWeb APIサービスエンドポイント(ユーザーがデータを取得するために認証されなければなりませんサービス)
これらの両方が同じAzure Active Directoryを使用して認証されます。 Web APIはAzure ADに登録されています。
問題:
私は、SharePoint OnlineのページにいくつかのJavaScriptをつけたい(ないSharepointのアドインではなく、AngularJS SPA)を使用したWeb APIへのAJAX呼び出しを行います(これはajax呼び出しであるため、ユーザーにはプロンプトが表示されません)。
私はADALライブラリを調べてみましたが、私が見つけ出すことができるすべてのJavaScriptのものにはAngularを使用する必要があり、ユーザーに2回目の認証が必要です。私はOAuth 2.0を使っていくつかの文書を見つけましたが、(私が知る限りでは)Sharepoint OnlineのページがAJAXであるために同意することができないようにするためにクライアントに要求します同意ページはブラウザに表示されません(Azure ADの管理者がアプリを承認したにもかかわらず、これもやっています)。
ユーザーはSharePointページを離れる必要がないと思われ、2回目の資格情報を入力する必要はありません。私は、SharePoint Onlineへのログインも、社内のアプリケーションのログインとして使用できるようにする必要があると考えています。
誰かが私を正しい方向に向けることができたら、私はそれを高く評価します。前もって感謝します。