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);
}
});
方法
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 网页版 中,如果使用已启用增强跟踪保护的 Firefox,则不支持此 API。 这会导致错误 13001 (“用户未登录到 Office”) 。
在 Outlook 网页版和新的 Outlook on Windows 中,如果使用 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 中的资源。
getAuthContext()
获取有关已登录用户的信息。 加载项可以将此信息传递给Microsoft身份验证库, (MSAL.js) 获取当前会话的访问令牌。
getAuthContext(): Promise<AuthContext>;
返回
Promise<Office.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);
}