从 Office 加载项授权 Microsoft Graph

加载项可以通过从Microsoft 标识平台获取 Microsoft Graph 访问令牌来获取对 Microsoft Graph 数据的授权。 使用授权代码流或隐式流,就像在其他 Web 应用程序中一样,但有一个例外:Microsoft 标识平台不允许其登录页在 iframe 中打开。 当 Office 加载项在 Office web 版 中运行时,任务窗格是 iframe。 这意味着需要使用 Office 对话框 API 在对话框中打开登录页。 这将影响你使用身份验证和授权帮助程序库的方式。 有关详细信息,请参阅使用 Office 对话框 API 进行身份验证

注意

如果要实现 SSO 并计划访问 Microsoft Graph,请参阅 使用 SSO 授权 Microsoft Graph

有关使用Microsoft 标识平台对身份验证进行编程的信息,请参阅Microsoft 标识平台文档。 你将在该文档集中找到教程和指南,以及相关示例的链接。 再次,可能需要调整示例中的代码以在 Office 对话框中运行,以考虑在任务窗格的单独进程中运行的 Office 对话框。

代码获取 Microsoft Graph 的访问令牌后,要么将访问令牌从对话框传递到任务窗格,要么将令牌存储在数据库中,并向任务窗格发出令牌可用信号。 (有关详细信息,请参阅 使用 Office 对话框 API 进行身份验证 。任务窗格中 ) 代码从 Microsoft Graph 请求数据,并在这些请求中包含令牌。 有关调用 Microsoft Graph 和 Microsoft Graph SDK 的详细信息,请参阅 Microsoft Graph 文档

建议在访问 Microsoft Graph 时使用以下库。

  • 对于使用服务器端并采用基于网络的框架(如 .NET Core 或 ASP.NET)的加载项,请使用 MSAL.NET
  • 对于使用基于 NodeJS 的服务器端的加载项, 请使用Passport Azure AD
  • 对于使用隐式流的加载项,请使用msal.js

有关使用 Microsoft 标识平台 (以前称为 "AAD v. 2.0") 的推荐库的详细信息,请参阅Microsoft 标识平台身份验证库

以下示例从 Office 外接程序获取 Microsoft Graph 数据。

Google Chrome 在 2024 年逐步淘汰第三方 Cookie,并引入了一项名为“跟踪防护”的功能。 如果在 Chrome 浏览器中启用了跟踪防护,则加载项将无法使用任何第三方 Cookie。 加载项在对用户进行身份验证时可能会遇到问题,例如多个登录请求或错误。

有关改进的身份验证体验,请参阅 使用设备状态在浏览器上使用已阻止的第三方 Cookie 改善 SSO 体验

有关 Google Chrome 推出的详细信息,请参阅以下资源: