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 プラットフォーム登録からマニフェストにいくつかの情報を追加することです。 マークアップはマニフェストの種類によって異なります。
アドインのみのマニフェスト:
VersionOverridesV1_1
VersionOverrides 要素の末尾に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) を使用する」を参照してください。
関連項目
- getAccessToken
- SSO トークンを使用して Microsoft Graph API にアクセスするサンプル Outlook アドインについては、「 Outlook アドイン SSO」を参照してください。
- SSO API リファレンス
- IdentityAPI 要件セット
- イベント ベースまたはスパムレポート Outlook アドインでシングル サインオン (SSO) またはクロスオリジン リソース共有 (CORS) を使用する
Office Add-ins