如何开发无需服务器端 Web API 即可访问 Microsoft Graph 的 Outlook SSO 加载项?

问题描述 投票:0回答:1

所以根据这个Ms学习页面

“您开发一个访问 Microsoft Graph 的加载项,就像访问使用 SSO 的任何其他应用程序一样。...区别在于 加载项必须具有服务器端 Web API。

我想了解有关此限制的更多信息,例如是否真的无法纯粹从客户端处理 Graph API 请求?只找到了简化服务器端解决方案开发的库,所有 MS 文章都将过程解释为:

  • 客户端从Identity平台获取代币A(无需Graph API授权)
  • 客户端将令牌 A 传递到加载项的服务器端
  • 服务器端代码使用代表流 (OBO) 来获取具有 Microsoft Graph 权限的令牌 B。
  • 服务器端代码发出Graph API请求并将返回的数据传递给客户端。

最好省略服务器端并作为客户端获取 Microsoft Graph 访问令牌。有人有这方面的经验吗?或者可以解释一下为什么必须有服务器端插件?

microsoft-graph-api single-sign-on office-js outlook-addin office-addins
1个回答
0
投票

Office 加载项为主机应用程序中执行的操作提供回调(事件处理程序)。它们不是静态应用程序,它们不会一直执行您的代码(任务窗格除外)。我们必须在此处添加 CORS,这是一种基于 HTTP 标头的机制,允许服务器指示除其自身之外的任何来源(域、方案或端口),浏览器应允许从中加载资源。

最后一点是安全点。令牌将存储在可供其他用户/窃贼使用的客户端计算机上。 Microsoft 不建议在客户端的任何位置保存访问令牌,而 SSO 允许从主机检索缓存的令牌,而无需在每次请求时显示身份验证对话框。

© www.soinside.com 2019 - 2024. All rights reserved.