Office.Auth interface

Office 身份验证命名空间 Office.auth提供一种方法,该方法允许 Office 客户端应用程序获取加载项 Web 应用程序的访问令牌。 这也使加载项能够间接访问已登录用户的 Microsoft Graph 数据,而不需要用户第二次登录。

方法

getAccessToken(options)

调用 Azure Active Directory V 2.0 终结点以获取令牌来访问加载项的 Web 应用程序。 使加载项能够识别用户。 服务器端代码可以使用此令牌通过 “代表”OAuth 流访问外接程序 Web 应用程序的 Microsoft Graph。 此 API 需要将加载项桥接到 Azure 应用程序的单一登录配置。 Office 用户使用组织帐户和 Microsoft 帐户登录。 Microsoft Azure 返回适用于两种用户帐户类型的令牌,以访问 Microsoft Graph 中的资源。

getAccessTokenAsync(options, callback)

调用 Azure Active Directory V 2.0 终结点以获取令牌来访问加载项的 Web 应用程序。 使加载项能够识别用户。 服务器端代码可以使用此令牌通过 “代表”OAuth 流访问外接程序 Web 应用程序的 Microsoft Graph。

重要提示:在 Outlook 中,如果加载项加载到 Outlook.com 或 Gmail 邮箱中,则不支持此 API。

警告getAccessTokenAsync 已弃用。 请改用 Office.auth.getAccessToken

getAccessTokenAsync(callback)

调用 Azure Active Directory V 2.0 终结点以获取令牌来访问加载项的 Web 应用程序。 使加载项能够识别用户。 服务器端代码可以使用此令牌通过 “代表”OAuth 流访问外接程序 Web 应用程序的 Microsoft Graph。

重要提示:在 Outlook 中,如果加载项加载到 Outlook.com 或 Gmail 邮箱中,则不支持此 API。

警告getAccessTokenAsync 已弃用。 请改用 Office.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?: AuthOptions): Promise<string>;

参数

options
Office.AuthOptions

可选。 接受 对象 AuthOptions 以定义登录行为。

返回

Promise<string>

承诺访问令牌。

注解

应用程序:Excel、OneNote、Outlook、PowerPoint Word

要求集IdentityAPI 1.3

重要说明

  • 在 Outlook 中,如果在 Outlook.com 或 Gmail 邮箱中加载加载项,则不支持此 API。

  • 在 Outlook 网页版 中,如果使用 Safari 浏览器,则不支持此 API。 这会导致错误 13001 (“用户未登录到 Office”) 。

  • 在 Outlook 网页版中,如果使用 displayDialogAsync 方法打开对话框,则必须关闭对话框,然后才能调用 getAccessToken

  • 在基于 Outlook 事件的激活外接程序中,从版本 2111 (内部版本 14701.20000) 开始,Outlook on Windows 支持此 API。 若要检索旧版本中的访问令牌,请改用 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 的访问权限。 如果 AsyncResult.status 为 “succeeded”,则 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 的访问权限。 如果 AsyncResult.status 为 “succeeded”,则 AsyncResult.value 为原始 AAD v. 2.0 格式的访问令牌。

返回

void

注解

应用程序:Excel、OneNote、Outlook、PowerPoint Word

要求集IdentityAPI 1.3

此 API 需要将加载项桥接到 Azure 应用程序的单一登录配置。 Office 用户使用组织帐户和 Microsoft 帐户登录。 Microsoft Azure 返回适用于两种用户帐户类型的令牌,以访问 Microsoft Graph 中的资源。