Outlook アドインの認証オプション

Outlook アドインは、アドインをホストするサーバー、内部ネットワーク、クラウド内の別の場所などに関わらず、インターネット上のあらゆる場所から情報にアクセスできます。 その情報が保護されている場合、アドインにはユーザーを認証する方法が必要になります。 Outlook アドインは、特定のシナリオに応じて、さまざまな認証メソッドを提供します。

入れ子になったアプリ認証を使用したシングル サインオン アクセス トークン

シングル サインオン (SSO) は、ユーザーが Office に 1 回サインインできるようにすることで、ユーザー エクスペリエンスを向上させます。 ユーザーは、アドインと対話するときにもう一度サインインする必要はありません。 入れ子になったアプリ認証 (NAA) を使用すると、ネイティブ Office アプリケーションのコンテキストで実行されている Office アドインの SSO が有効になります。 NAA を使用すると、アドイン コードの SSO の処理が簡単になります。 NAA を使用すると、中間層サーバーを必要とせずに、アドイン クライアント コードから SPA として Microsoft Graph 呼び出しを行うことができます。 MSAL.js ライブラリによって NAA が提供されるため、Office.js API を使用する必要はありません。

Outlook アドインで NAA を使用できるようにするには、「 入れ子になったアプリ認証を使用して Office アドインで SSO を有効にする」を参照してください。 サポートの詳細については、「 入れ子になったアプリ認証要件セット」を参照してください。

Outlook の NAA サンプル

代理 (OBO) フローを使用したレガシ Office シングル サインオン

従来の Office.js getAccessToken API を使用して、Outlook アドインで SSO を有効にすることもできます。 ただし、これは従来のパターンであり、既存のアドインを維持している場合、または NAA を使用しないプラットフォームで古い Outlook クライアントをサポートする必要がある場合にのみ使用する必要があります。 現在、OBO フローを使用した SSO は、Word、Excel、Outlook、およびPowerPointでサポートされています。 サポートの詳細については、「 IdentityAPI 要件セット」を参照してください。

より詳しい概要については、SSO 認証方式の概要全文を参照してください。

SSO トークンを使用するアドインのサンプルについては、「Outlook アドイン SSO」を参照してください。

OAuth2 フローで取得されたアクセス トークン

アドインは、認証のために OAuth2 をサポートする Microsoft やその他のサービスにアクセスすることもできます。 アドインが制御外のサービスにアクセスする必要がある場合は、OAuth2 トークンの使用を検討してください。

このメソッドを使用すると、アドインは displayDialogAsync メソッドを使用してサービスにサインインして OAuth2 フローを初期化するようにユーザーに求めます。 詳細については、「 Office ダイアログ API を使用した認証と承認」を参照してください。

Exchange オンプレミス フロー

重要

レガシ Exchange Onlineユーザー ID トークンコールバック トークンはサポートされなくなり、すべての Microsoft 365 テナントで無効になっています。 Outlook アドインで委任されたユーザー アクセスまたはユーザー ID が必要な場合は、 MSAL (Microsoft 認証ライブラリ) と入れ子になったアプリ認証を使用することをお勧めします。 Exchange ユーザー ID トークンは、引き続き Exchange オンプレミスでサポートされています。

注:

Exchange ユーザー ID またはコールバック トークンのほとんどの機能は、 Microsoft Graph メール API を使用して実現することもできます。

Exchange のユーザー ID トークン

Exchange のユーザー ID トークンは、アドインがユーザーの ID を確立する方法を提供します。 ユーザーの ID を確認することで、バックエンド システムにワンタイム認証を実行し、将来の要求に対する認証としてユーザー ID トークンを使用することができます。 次の場合、Exchange のユーザー ID トークンを使用します。

  • アドインが Exchange オンプレミス ユーザーによって使用されている場合にのみ使用されます。
  • アドインが、ユーザーが制御する Microsoft 以外のサービスにアクセスする必要がある場合。
  • SSO をサポートしていないバージョンの Office でアドインが実行されている場合の代替認証として。

アドインでは、getUserIdentityTokenAsync を呼び出して Exchange のユーザー ID トークンを取得できます。 それらのトークンの使用の詳細については、「Exchange の ID トークンを使用してユーザーを認証する」を参照してください。

コールバック トークン

コールバック トークンを使用すると、 Exchange Web Services (EWS) を使用してサーバー バックエンドからユーザーのメールボックスにアクセスできます。 アドインがサーバー バックエンドからユーザーのメールボックスにアクセスする必要がある場合は、コールバック トークンの使用を検討してください。

アドインは、getCallbackTokenAsync メソッドの 1 つを使用して、コールバック トークンを取得します。 アクセスのレベルは、アドイン マニフェストで指定されたアクセス許可によって制御されます。

関連項目