Outlook アドインでシングル サインオン トークンを使用してユーザーを認証する

シングル サインオン (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 アドインに Azure Active Directory (AAD) v2.0 を登録したサーバー側ウェブ API が必要です。 詳細については、「Azure AD v2.0 のエンドポイントで SSO を使用する Office アドインを登録する」をご覧ください。

アドインを開発するときは、事前に同意する必要があります。 詳細については、「 アドインに管理者の同意を付与する」を参照してください。

アドイン マニフェストを更新する

アドインで SSO を有効にする次の手順は、アドインのMicrosoft ID プラットフォーム登録からマニフェストにいくつかの情報を追加することです。 マークアップはマニフェストの種類によって異なります。

  • XML マニフェスト: VersionOverrides 要素の末尾にVersionOverridesV1_1要素を追加WebApplicationInfoします。 次に、必要な子要素を追加します。 マークアップの詳細については、「 アドインの構成」を参照してください。

  • Microsoft 365 (プレビュー) の統合マニフェスト: マニフェストのルート { ... } オブジェクトに "webApplicationInfo" プロパティを追加します。 このオブジェクトに、アドインを登録したときにAzure portalで生成されたアドインの Web アプリのアプリケーション ID に設定された子 "id" プロパティを指定します。 (この記事の「 アドインを登録する 」セクションを参照してください)。また、アドインを登録したときに設定したのと同じ アプリケーション ID URI に設定されている子 "リソース" プロパティも指定します。 この 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 トークンを使用する

ほとんどの場合、アドインがサーバー側に渡してそこで使用しない場合は、アクセス トークンを取得してもあまり意味はありません。 サーバー側で可能となること、また必要な対応に関する詳細は、「サーバー側のコードを追加する」を参照してください。

重要

ID として SSO トークンを Outlook アドインで使用するときには、代替の ID として Exchange の ID トークンも使用することをお勧めします。 アドインのユーザーは、複数のクライアントを使用することがあり、一部のクライアントは SSO トークンの提示をサポートしていないことがあります。 代わりに Exchange の ID トークン使用すると、そうしたユーザーに資格情報の入力を求めるダイアログを複数回表示しないようにできます。 詳細については、「シナリオ: Outlook アドインでサービスにシングル サインオンを実装する」を参照してください。

イベント ベースのアクティブ化または統合スパム レポートの SSO

アドインでイベント ベースのアクティブ化または統合スパム レポート (プレビュー) を使用する場合は、追加の手順を実行する必要があります。 詳細については、「 イベントベースまたはスパムレポートの Outlook アドインでシングル サインオン (SSO) またはクロスオリジン リソース共有 (CORS) を使用する」を参照してください。

関連項目