Office.Auth interface
Office Auth 名前空間は、 Office.auth
Office クライアント アプリケーションがアドインの Web アプリケーションへのアクセス トークンを取得するためのメソッドを提供します。 これにより、間接的に、サインインしたユーザーの Microsoft Graph データにアドインがアクセスできるようにもなります。ユーザーがもう一度サインインする必要はありません。
注釈
例
// Get the auth context object and use it to get an
// access token.
const authContext = Office.context.auth;
authContext.getAccessTokenAsync(function(result) {
if (result.status === Office.AsyncResultStatus.Succeeded) {
const token = result.value;
console.log(token);
} else {
console.log("Error obtaining token", result.error);
}
});
メソッド
get |
Azure Active Directory V 2.0 のエンドポイントを呼び出して、アドインの Web アプリケーションへのアクセス トークンを取得します。 アドインがユーザーを識別できるようにします。 サーバー側コードでは、 OAuth フローの "代理" を使用して、このトークンを使用してアドインの Web アプリケーションの Microsoft Graph にアクセスできます。 この API では、アドインを Azure アプリケーションにブリッジするシングル サインオン構成が必要です。 Office ユーザーは、組織アカウントと Microsoft アカウントを使用してサインインします。 Microsoft Azure では、Microsoft Graph のリソースにアクセスするために、両方のユーザー アカウントの種類を対象にしたトークンを返します。 |
get |
Azure Active Directory V 2.0 のエンドポイントを呼び出して、アドインの Web アプリケーションへのアクセス トークンを取得します。 アドインがユーザーを識別できるようにします。 サーバー側コードでは、 OAuth フローの "代理" を使用して、このトークンを使用してアドインの Web アプリケーションの Microsoft Graph にアクセスできます。 重要: Outlook では、アドインが Outlook.com または Gmail メールボックスに読み込まれている場合、この API はサポートされません。
警告: |
get |
Azure Active Directory V 2.0 のエンドポイントを呼び出して、アドインの Web アプリケーションへのアクセス トークンを取得します。 アドインがユーザーを識別できるようにします。 サーバー側コードでは、 OAuth フローの "代理" を使用して、このトークンを使用してアドインの Web アプリケーションの Microsoft Graph にアクセスできます。 重要: Outlook では、アドインが Outlook.com または Gmail メールボックスに読み込まれている場合、この API はサポートされません。
警告: |
get |
サインインしているユーザーに関する情報を取得します。 アドインは、この情報を Microsoft 認証ライブラリ (MSAL.js) に渡して、現在のセッションのアクセス トークンを取得できます。 |
メソッドの詳細
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
- Office.AuthOptions
省略可能。 サインオン動作を AuthOptions
定義するオブジェクトを受け入れます。
戻り値
Promise<string>
アクセス トークンに対する約束。
注釈
アプリケーション: Excel、OneNote、Outlook、PowerPoint、Word
要件セット: IdentityAPI 1.3
重要:
Outlook では、Outlook.com または Gmail メールボックスにアドインを読み込む場合、この API はサポートされません。
Outlook on the webでは、拡張追跡保護が有効になっている Firefox を使用している場合、この API はサポートされていません。 これにより、エラー 13001 が発生します ("ユーザーが Office にサインインしていません")。
Outlook on the webおよび新しい Outlook on Windows で、displayDialogAsync メソッドを使用してダイアログを開く場合は、 を呼び出す
getAccessToken
前にダイアログを閉じる必要があります。Outlook イベント ベースのアクティブ化アドインでは、この API はバージョン 2111 (ビルド 14701.20000) 以降の Outlook on Windows でサポートされています。 古いビルドでアクセス トークンを取得するには、代わりに OfficeRuntime.auth.getAccessToken を 使用します。 詳細については、「イベント ベースのアクティブ化を使用する Outlook アドインでシングル サインオン (SSO) を有効にする」を参照してください。
例
try{
const accessToken = await Office.auth.getAccessToken({
allowSignInPrompt: true,
allowConsentPrompt: true,
forMSGraphAccess: true,
});
} catch (error) {
console.log("Error obtaining token", error);
}
getAccessTokenAsync(options, callback)
警告
この API は非推奨になりました。
Use Office.auth.getAccessToken
instead.
Azure Active Directory V 2.0 のエンドポイントを呼び出して、アドインの Web アプリケーションへのアクセス トークンを取得します。 アドインがユーザーを識別できるようにします。 サーバー側コードでは、 OAuth フローの "代理" を使用して、このトークンを使用してアドインの Web アプリケーションの Microsoft Graph にアクセスできます。
重要: Outlook では、アドインが Outlook.com または Gmail メールボックスに読み込まれている場合、この API はサポートされません。
警告: getAccessTokenAsync
非推奨になりました。 代わりに を使用 Office.auth.getAccessToken
します。
getAccessTokenAsync(options?: AuthOptions, callback?: (result: AsyncResult<string>) => void): void;
パラメーター
- options
- Office.AuthOptions
省略可能。 サインオン動作を AuthOptions
定義するオブジェクトを受け入れます。
- callback
-
(result: Office.AsyncResult<string>) => void
省略可能。 ユーザーの ID のトークンを解析したり、"代理" フローでトークンを使用して Microsoft Graph にアクセスできるコールバック関数を受け入れます。 が "succeeded" の場合 AsyncResult.status
は、 AsyncResult.value
未加工の AAD v. 2.0 形式のアクセス トークンになります。
戻り値
void
注釈
アプリケーション: Excel、OneNote、Outlook、PowerPoint、Word
要件セット: IdentityAPI 1.3
この API では、アドインを Azure アプリケーションにブリッジするシングル サインオン構成が必要です。 Office ユーザーは、組織アカウントと Microsoft アカウントを使用してサインインします。 Microsoft Azure では、Microsoft Graph のリソースにアクセスするために、両方のユーザー アカウントの種類を対象にしたトークンを返します。
例
Office.context.auth.getAccessTokenAsync(function(result) {
if (result.status === Office.AsyncResultStatus.Succeeded) {
const token = result.value;
// ...
} else {
console.log("Error obtaining token", result.error);
}
});
getAccessTokenAsync(callback)
警告
この API は非推奨になりました。
Use Office.auth.getAccessToken
instead.
Azure Active Directory V 2.0 のエンドポイントを呼び出して、アドインの Web アプリケーションへのアクセス トークンを取得します。 アドインがユーザーを識別できるようにします。 サーバー側コードでは、 OAuth フローの "代理" を使用して、このトークンを使用してアドインの Web アプリケーションの Microsoft Graph にアクセスできます。
重要: Outlook では、アドインが Outlook.com または Gmail メールボックスに読み込まれている場合、この API はサポートされません。
警告: getAccessTokenAsync
非推奨になりました。 代わりに を使用 Office.auth.getAccessToken
します。
getAccessTokenAsync(callback?: (result: AsyncResult<string>) => void): void;
パラメーター
- callback
-
(result: Office.AsyncResult<string>) => void
省略可能。 ユーザーの ID のトークンを解析したり、"代理" フローでトークンを使用して Microsoft Graph にアクセスできるコールバック関数を受け入れます。 が "succeeded" の場合 AsyncResult.status
は、 AsyncResult.value
未加工の AAD v. 2.0 形式のアクセス トークンになります。
戻り値
void
注釈
アプリケーション: Excel、OneNote、Outlook、PowerPoint、Word
要件セット: IdentityAPI 1.3
この API では、アドインを Azure アプリケーションにブリッジするシングル サインオン構成が必要です。 Office ユーザーは、組織アカウントと Microsoft アカウントを使用してサインインします。 Microsoft Azure では、Microsoft Graph のリソースにアクセスするために、両方のユーザー アカウントの種類を対象にしたトークンを返します。
getAuthContext()
サインインしているユーザーに関する情報を取得します。 アドインは、この情報を Microsoft 認証ライブラリ (MSAL.js) に渡して、現在のセッションのアクセス トークンを取得できます。
getAuthContext(): Promise<AuthContext>;
戻り値
Promise<Office.AuthContext>
AuthContext オブジェクトに対する Promise。
注釈
ホスト: Excel、OneNote、Outlook、PowerPoint、Word
要件セット: NestedAppAuth 1.1
例
try{
const authContext = await Office.auth.getAuthContext();
console.log(authContext.userPrincipalName);
} catch (error) {
console.log("Error obtaining token", error);
}
Office Add-ins