所以根据这个Ms学习页面:
“您开发一个访问 Microsoft Graph 的加载项,就像访问使用 SSO 的任何其他应用程序一样。...区别在于 加载项必须具有服务器端 Web API。”
我想了解有关此限制的更多信息,例如是否真的无法纯粹从客户端处理 Graph API 请求?只找到了简化服务器端解决方案开发的库,所有 MS 文章都将过程解释为:
最好省略服务器端并作为客户端获取 Microsoft Graph 访问令牌。有人有这方面的经验吗?或者可以解释一下为什么必须有服务器端插件?
Office 加载项为主机应用程序中执行的操作提供回调(事件处理程序)。它们不是静态应用程序,它们不会一直执行您的代码(任务窗格除外)。我们必须在此处添加 CORS,这是一种基于 HTTP 标头的机制,允许服务器指示除其自身之外的任何来源(域、方案或端口),浏览器应允许从中加载资源。
最后一点是安全点。令牌将存储在可供其他用户/窃贼使用的客户端计算机上。 Microsoft 不建议在客户端的任何位置保存访问令牌,而 SSO 允许从主机检索缓存的令牌,而无需在每次请求时显示身份验证对话框。