首页 > 解决方案 > 在 Angular Office.js 插件中使用 Microsoft Access 令牌真的不可能吗?

问题描述

我们希望为 Word 和 Outlook 的 Office 插件使用 Microsoft 身份验证。

  1. 微软关于 SSO 的文档说:使用 Office.auth.getAccessToken。我了解到它不再处于预览状态,但我无法使用它,因为我的 vscode/angular 编辑器无法识别 Office.auth.getAccessToken (intellisense/typescript) 导致编译错误。
  2. 如果我们使用 MSALv2 并尝试使用 acquireTokenSilent /acquireTokenRedirect 功能获取令牌,我们会收到一条错误消息,指出您无法在 IFrame 中运行它(使用 Office.js 就是这种情况)
  3. 如果我们将 MSALv2 与 acquireTokenPopup 一起使用,它(目前)在 Chrome 和 Edge 中运行。Word AddIn 不会在较新的 Safari 版本中运行。此外,此代码无法在桌面版 Office 中运行,出现弹出错误
  4. 然后是 Microsoft 的这篇文章,关于使用 displayDialogAsync 在 IFrame 之外托管身份验证。这看起来很有希望,直到我们了解到 Safari 中较新的安全功能会阻止从外部窗口返回 IFrame 的任何响应。

所以......没有运气。它确实让我们在街上呆了一段时间。从 Microsoft Office.js 插件中使用 Microsoft 身份验证似乎是不可能的。

有没有人可以为我们挽救这一天?

标签: office-jsoffice-addinsmsal-angular

解决方案


推荐阅读