OAuth 连接未在 Outlook 桌面版 Office 365 插件中完成

OAuth connection not completed in Outlook Desktop Office 365 Addin

我们正在开发通过 OAuth 连接到 CRM 的 office.js add-in。

这是 oAuth 流程:

  1. 用户点击连接到 CRM,一个新的 window 打开

  2. 用户连接到 CRM 并被重定向到我们的网站

  3. 我们将完成 OAUth 过程并将令牌发送到 parent 文档 (Add-in)

    它在 OWA 中运行良好,但在 Outlook 桌面版中我们无法将令牌发送到 Parent 文档。

我们尝试了:

  1. local storage(parent window (add-in) watches local storage, 一旦收到token child window saves它在本地存储中,但 parent 在 outlook 重新启动之前没有收到本地存储更新)

  2. 海关事件(由于 IE 同源策略而无效)

这是 outlook 中的错误吗?有没有其他方法可以将令牌传递给 parent window?

对于身份验证,我们建议使用 displayDialogAsync API.

打开身份验证 window

然后,可以从打开的window调用Office.context.ui.messageParentAPI,向其父级发送消息包。