Office アドインから Microsoft Graph に対する承認

アドインは、Microsoft ID プラットフォームから Microsoft Graph へのアクセス トークンを取得することで、Microsoft Graph データに対する承認を取得できます。 承認コード フローまたは暗黙的フローは、他の Web アプリケーションと同じように使用しますが、1 つの例外があります。Microsoft ID プラットフォームでは、サインイン ページが iframe で開くことを許可しません。 Office アドインがOffice on the webで実行されている場合、作業ウィンドウは iframe です。 つまり、Office ダイアログ API を使用して、ダイアログ ボックスでサインイン ページを開く必要があります。 これは、認証と承認ヘルパー ライブラリの使用方法に影響します。 詳細については、「Office ダイアログ API を使用して認証および承認する」を参照してください。

注:

SSO を実装し、Microsoft Graph にアクセスする予定の場合は、「 SSO を使用して Microsoft Graph に承認する」を参照してください。

Microsoft ID プラットフォームを使用した認証のプログラミングについては、Microsoft ID プラットフォームドキュメントを参照してください。 そのドキュメント セットには、チュートリアルとガイドのほか、関連するサンプルへのリンクがあります。 もう一度、作業ウィンドウとは別のプロセスで実行される Office ダイアログ ボックスを考慮して、Office ダイアログ ボックスで実行するようにサンプルのコードを調整する必要がある場合があります。

コードが Microsoft Graph へのアクセス トークンを取得した後、ダイアログ ボックスから作業ウィンドウにアクセス トークンを渡すか、データベースにトークンを格納し、トークンが使用可能であることを作業ウィンドウに通知します。 (詳細については、「 Office ダイアログ API を使用した認証 」を参照してください)。作業ウィンドウのコードは、Microsoft Graph からデータを要求し、それらの要求にトークンを含めます。 Microsoft Graph と Microsoft Graph SDK の呼び出しの詳細については、 Microsoft Graph のドキュメントを参照してください

Microsoft Graph にアクセスするときは、次のライブラリを使用することをお勧めします。

  • .NET ベースのフレームワーク (.NET Core や ASP.NET など) のサーバー側を使用するアドインの場合は、MSAL.NET を使用します。
  • NodeJS ベースのサーバー側を使用するアドインの場合は、Passport Azure AD を使用します。
  • 暗黙的なフローを使用するアドインの場合は、msal.js を使用します。

Microsoft ID プラットフォーム (以前は AAD v.2.0) を使用するための推奨ライブラリの詳細については、「Microsoft ID プラットフォームの認証ライブラリ」を参照してください。

次のサンプルでは、Office アドインから Microsoft Graph データを取得します。

Google Chrome は、2024 年にサード パーティの Cookie を段階的に廃止し、トラッキング防止という名前の機能を導入しています。 Chrome ブラウザーでトラッキング防止が有効になっている場合、アドインはサード パーティの Cookie を使用できません。 アドインでは、複数のサインオン要求やエラーなど、ユーザーを認証するときに問題が発生する可能性があります。

認証エクスペリエンスの向上については、「 デバイスの状態を使用した、ブロックされたサード パーティの Cookie を使用したブラウザーでの SSO エクスペリエンスの向上」を参照してください。

Google Chrome ロールアウトの詳細については、次のリソースを参照してください。