Office アドインでは、既定で匿名アクセスが許可されますが、ユーザーに対して、アドインを使用するために Microsoft アカウント、Microsoft 365 Education または職場アカウント、その他の一般的なアカウントでサインインすることを要求できます。 これによりユーザーの確認がアドインで可能になることから、このタスクはユーザー認証と呼ばれています。
また、アドインは、Microsoft Graph データ (Microsoft 365 プロファイル、OneDrive ファイル、SharePoint データなど) や、Google、Facebook、LinkedIn、SalesForce、GitHub などの他の外部ソースのデータにアクセスするユーザーの同意を得ることもできます。 このタスクは、ユーザーではなく、承認されている アドイン であるため、アドイン (またはアプリ) 承認と呼ばれます。
認証と承認のための主要なリソース
このドキュメントでは、認証と承認をサポートするように Office アドインを構築および構成する方法について説明します。 参照される一部の概念とセキュリティ テクノロジは、このコンテンツの範囲外です。 たとえば、OAuth フロー、トークン キャッシュ、ID 管理などの一般的なセキュリティ トピックについては説明しません。 このドキュメントには、Microsoft Entra IDまたはMicrosoft ID プラットフォームに固有のガイダンスも含まれていません。 これらのトピックの詳細については、次のリソースを使用してください。
- Microsoft ID プラットフォームのドキュメント
- Microsoft ID プラットフォームのサポートとヘルプ オプション
- Microsoft ID プラットフォームの OAuth 2.0 および OIDC 認証フロー
シングル サインオン (SSO)
シングル サインオン (SSO) は、ユーザーが Office に 1 回サインインできるようにすることで、ユーザー エクスペリエンスを向上させます。 ユーザーは、アドインと対話するときにもう一度サインインする必要はありません。
SSO の使用を開始するには、「入れ子になったアプリ認証を使用して Office アドインでシングル サインオンを有効にする」を参照してください。
レガシ SSO
Office.js には、サインインしているユーザーのアクセス トークンを取得するために使用できる getAccessToken API もあります。 この方法はレガシと見なされますが、引き続きサポートされています。 SSO に Office.js を使用する場合、または SSO に Office.js を使用して構築されたアドインを管理する場合は、「 Office アドインでシングル サインオン (SSO) を有効にする」を参照してください。
SSO 以外のシナリオ
一部のシナリオでは、SSO を使用したくない場合があります。 たとえば、Microsoft ID プラットフォームとは異なる ID プロバイダーを使用して認証する必要がある場合があります。 また、SSO はすべてのシナリオでサポートされているわけではありません。 たとえば、以前のバージョンの Office では SSO がサポートされていません。 この場合は、アドインの代替認証システムにフォールバックする必要があります。
Microsoft ID プラットフォームを使用して認証する
アドインは、認証プロバイダーとして Microsoft ID プラットフォームを使用してユーザーをサインインすることができます。 ユーザーにサインインしたら、Microsoft ID プラットフォームを使用して、Microsoft Graph または Microsoft が管理する他のサービスへのアドインを承認できます。 Office を介した SSO が利用できない場合は、この方法を代替サインイン方法として使用します。 また、SSO が使用可能な場合でも、ユーザーにアドインに個別にサインインさせるシナリオもあります。たとえば、現在 Office にサインインしている ID とは異なる ID を使用してアドインにサインインするオプションが必要な場合です。
Microsoft ID プラットフォームでは、サインイン ページを iframe で開くことができないことに注意してください。 Office アドインがOffice on the webで実行されている場合、作業ウィンドウは iframe です。 これは、Office ダイアログ API で開かれるダイアログ ボックスを使用して、サインイン ページを開く必要があることを意味します。 このことは、認証ヘルパー ライブラリの使用方法に影響します。 詳細については、「Office ダイアログ API を使用して認証および承認する」を参照してください。
Microsoft ID プラットフォームでの認証の実装については、「Microsoft ID プラットフォームとは」を参照してください。ドキュメントには、多くのチュートリアルとガイドのほか、関連するサンプルやライブラリへのリンクが含まれています。 「Office ダイアログ API を使用して認証および承認する」の説明にあるように、Office ダイアログ ボックスで実行するサンプル内のコードを調整する必要がある場合があります。
SSO を使用しないで Microsoft Graph にアクセスする
Microsoft ID プラットフォームから Microsoft Graph へのアクセス トークンを取得することで、アドインの Microsoft Graph データに対する承認を取得できます。 これを行うには、Office 経由の SSO に依存しません (または、SSO が失敗したか、サポートされていない場合)。 詳細については、「SSO を使用せずに Microsoft Graph にアクセスする」を参照してください。詳細情報とサンプルへのリンクが含まれています。
Microsoft 以外のデータ ソースへのアクセス
大手のオンライン サービス (Google、Facebook、LinkedIn、SalesForce、GitHub など) では、開発者は、ユーザーが自分のアカウントに別のアプリケーションからアクセスできるようにすることが可能です。 これにより、開発者はこれらのサービスを Office アドインに含めることができます。 アドインでこれを行う方法の概要については、「 Microsoft 以外の ID プロバイダーによる承認」を参照してください。
重要
コーディングを開始する前に、データ ソースが iframe でのサインイン ページの開き方をサポートしているかどうかを確認します。 Office on the webでは、作業ウィンドウは iframe 内で実行されます。 データ ソースでサインイン ページが iframe に読み込まれない場合は、Office ダイアログ API を使用してダイアログ ボックスでサインイン ページを開きます。 詳細については、「Office ダイアログ API を使用して認証および承認する」を参照してください。
関連項目
Office Add-ins