重要
レガシ Exchange Onlineユーザー ID トークンとコールバック トークンはサポートされなくなり、すべての Microsoft 365 テナントで無効になっています。 Outlook アドインで委任されたユーザー アクセスまたはユーザー ID が必要な場合は、 MSAL (Microsoft 認証ライブラリ) と入れ子になったアプリ認証を使用することをお勧めします。 Exchange ユーザー ID トークンは、引き続き Exchange オンプレミスでサポートされています。
シングル サインオン (SSO) は、アドインがユーザーを認証する (またオプションでアクセス トークンを認証および取得して Microsoft Graph API を呼び出す) ための、シームレスな方法を提供します。
この方法を使用すると、アドインはサーバーのバックエンド API にスコープされたアクセス トークンを取得できます。 アドインはこれを Authorization ヘッダーのベアラー トークンとして使用して、API へのコールバックを認証します。 必要に応じて、サーバー側のコードを作成することもできます。
- On-Behalf-Of フローを完了して、Microsoft Graph API にスコープ設定されたアクセス トークンを取得する
- トークン内の ID 情報を使用して、独自のバックエンド サービスに対するユーザーの識別と認証を確立する
Office アドインの SSO の概要については、「Office アドインのシングル サインオンを有効化する」 および「Office アドインの Microsoft Graph への承認」を参照してください。
Microsoft 365 テナントで先進認証を有効にする
Outlook アドインで SSO を使用するには、Microsoft 365 テナントの先進認証を有効にする必要があります。 これを行う方法については、「Exchange Onlineで Outlook の先進認証を有効または無効にする」を参照してください。
アドインを登録する
SSO を使用するには、Outlook アドインに、Microsoft Entra ID で登録されているサーバー側の Web API が必要です。 詳細情報については、「Microsoft ID プラットフォームに SSO を使用する Office アドインを登録する」をご覧ください。
アドインのサイドロード時に同意する
アドインを開発するときは、事前に同意する必要があります。 詳細については、「同意管理」を参照してください。
アドイン マニフェストを更新する
アドインで SSO を有効にする次の手順は、アドインのMicrosoft ID プラットフォーム登録からマニフェストにいくつかの情報を追加することです。 マークアップはマニフェストの種類によって異なります。
アドインのみのマニフェスト:
VersionOverridesV1_1VersionOverrides 要素の末尾にWebApplicationInfo要素を追加します。 次に、必要な子要素を追加します。 マークアップの詳細については、「 アドインの構成」を参照してください。Microsoft 365 の統合マニフェスト: マニフェストのルート
{ ... }オブジェクトに"webApplicationInfo"プロパティを追加します。 このオブジェクトに、アドインを登録したときにAzure portalで生成されたアドインの Web アプリのアプリケーション ID に設定された子"id"プロパティを指定します。 (この記事の「アドインを登録する」セクションを参照してください)。また、アドインを登録したときに設定したのと同じアプリケーション ID URI に設定されている子"resource"プロパティも指定します。 この URI には、フォームがapi://<fully-qualified-domain-name>/<application-id>する必要があります。 次に例を示します。"webApplicationInfo": { "id": "a661fed9-f33d-4e95-b6cf-624a34a2f51d", "resource": "api://addin.contoso.com/a661fed9-f33d-4e95-b6cf-624a34a2f51d" },
SSO トークンを取得する
アドインがクライアント側スクリプトを含む SSO トークンを取得します。 詳細については、「クライアント側のコードを追加する」を参照してください。
バックエンドで SSO トークンを使用する
ほとんどの場合、アドインがサーバー側に渡してそこで使用しない場合は、アクセス トークンを取得してもあまり意味はありません。 サーバー側で可能となること、また必要な対応に関する詳細は、「サーバー側のコードを追加する」を参照してください。
イベント ベースのアクティブ化または統合スパム レポートの SSO
アドインでイベント ベースのアクティブ化または統合スパム レポートを使用する場合は、追加の手順を実行する必要があります。 詳細については、「 イベントベースまたはスパムレポートの Outlook アドインでシングル サインオン (SSO) またはクロスオリジン リソース共有 (CORS) を使用する」を参照してください。
関連項目
- getAccessToken
- SSO トークンを使用して Microsoft Graph APIにアクセスするサンプルの Outlook アドインについては、「Outlook アドイン SSO」を参照してください。
- SSO API リファレンス
- IdentityAPI 要件セット
- イベント ベースまたはスパムレポート Outlook アドインでシングル サインオン (SSO) またはクロスオリジン リソース共有 (CORS) を使用する
Office Add-ins