OfficeRuntime.Auth interface

警告

この API は非推奨になりました。

Use the Office.Auth interface instead.

承認関連の API を含むインターフェイス。

注釈

このインターフェイスのメソッドは、Office.auth インターフェイスのメソッドと同等です。 将来新しい認証の種類が追加された場合、それらは Office.auth インターフェイスにのみ追加されます。 わかりやすくするために、ドキュメント全体のコード例では Office.auth を使用しています。

// Get the auth context object and use it to get an
// access token.
const auth = OfficeRuntime.auth;
const accessToken = await auth.getAccessToken();

メソッド

getAccessToken(options)

Azure Active Directory V 2.0 のエンドポイントを呼び出して、アドインの Web アプリケーションへのアクセス トークンを取得します。 アドインがユーザーを識別できるようにします。 サーバー側コードは、このトークンを使用して、OAuth フロー "代理" を使用してアドインの Web アプリケーション用 Microsoft Graph にアクセスできます。 この API では、アドインを Azure アプリケーションにブリッジするシングル サインオン構成が必要です。 Office ユーザーは、組織アカウントと Microsoft アカウントを使用してサインインします。 Microsoft Azure では、Microsoft Graph のリソースにアクセスするために、両方のユーザー アカウントの種類を対象にしたトークンを返します。

メソッドの詳細

getAccessToken(options)

Azure Active Directory V 2.0 のエンドポイントを呼び出して、アドインの Web アプリケーションへのアクセス トークンを取得します。 アドインがユーザーを識別できるようにします。 サーバー側コードは、このトークンを使用して、OAuth フロー "代理" を使用してアドインの Web アプリケーション用 Microsoft Graph にアクセスできます。 この API では、アドインを Azure アプリケーションにブリッジするシングル サインオン構成が必要です。 Office ユーザーは、組織アカウントと Microsoft アカウントを使用してサインインします。 Microsoft Azure では、Microsoft Graph のリソースにアクセスするために、両方のユーザー アカウントの種類を対象にしたトークンを返します。

getAccessToken(options?: AuthOptions): Promise<string>;

パラメーター

options
OfficeRuntime.AuthOptions

省略可能。 サインオン動作を定義する AuthOptions オブジェクトを受け入れます。

返品

Promise<string>

アクセス トークンを約束します。

注釈

アプリケーション: Excel、Outlook、PowerPoint、Word

要件セット: IdentityAPI 1.3

重要:

  • Outlook では、Outlook.com または Gmail メールボックスにアドインを読み込む場合、この API はサポートされません。

  • Outlook on the web では、Safari ブラウザーを使用している場合、この API はサポートされません。 これにより、エラー 13001 ("ユーザーは Office にサインインしていません") が発生します。

  • Outlook on the web では、displayDialogAsync メソッドを使用してダイアログを開く場合、getAccessToken を呼び出す前にダイアログを閉じる必要があります。

async function getUserData() {
  try {
      const auth = OfficeRuntime.auth;
      let userTokenEncoded = await auth.getAccessToken();
      let userToken = jwt_decode(userTokenEncoded); // Using the https://www.npmjs.com/package/jwt-decode library.
      console.log(userToken.name); // user name
      console.log(userToken.preferred_username); // email
      console.log(userToken.oid); // user id     
  }
  catch (exception) {
      if (exception.code === 13003) {
          // SSO is not supported for domain user accounts, only
          // Microsoft 365 Education or work account, or a Microsoft account.
      } else {
          // Handle error
      }
  }
}