Office.Auth interface

Office 身份验证命名空间 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);
    }
});

方法

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

getAuthContext()

获取有关已登录用户的信息。 加载项可以将此信息传递给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

重要说明

示例

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 中的资源。

getAuthContext()

获取有关已登录用户的信息。 加载项可以将此信息传递给Microsoft身份验证库, (MSAL.js) 获取当前会话的访问令牌。

getAuthContext(): Promise<AuthContext>;

返回

承诺到 AuthContext 对象。

注解

主机: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);
}