授权从 Office 加载项Microsoft Graph
加载项可以从Microsoft标识平台获取Microsoft Graph 的访问令牌,从而获得Microsoft Graph 数据的授权。 使用授权代码流或隐式流,就像在其他 Web 应用程序中一样,但有一个例外:Microsoft标识平台不允许其登录页在 iframe 中打开。 当 Office 外接程序在 Office 网页版中运行时,任务窗格是 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 数据。
- Office 加载项 Microsoft Graph ASP.NET
- Outlook 加载项 Microsoft Graph ASP.NET
- Office 加载项 Microsoft Graph React
Google Chrome 第三方 Cookie 支持
Google Chrome 正在努力为用户提供对其浏览体验的更多控制。 用户将能够在其 Chrome 浏览器中阻止第三方 Cookie。 这将阻止加载项使用任何此类 Cookie。 当加载项对用户进行身份验证时,这可能会导致问题,例如多个登录请求或错误。
有关改进的身份验证体验,请参阅 使用设备状态在浏览器上使用已阻止的第三方 Cookie 改善 SSO 体验。
有关 Google Chrome 推出的详细信息,请参阅 Web 上的隐私沙盒的新路径。