【发布时间】:2018-01-22 12:43:32
【问题描述】:
我目前正在努力解决如何将 OAuth 令牌从 Outlook O365 中的父页面安全地传递到对话窗口的安全困境。根据 Microsoft documentation 的说法,只有两种方法可以实现:
- 本地存储
- 查询参数
我不明白为什么微软有一个方法(*)用于从对话框到父页面而不是从父页面到对话框?
* 来自documentation:
dialog.addEventHandler(Office.EventType.DialogMessageReceived, processMessage);
dialog.addEventHandler(Office.EventType.DialogEventReceived, processMessage);
所以我的问题是:
- 有什么方法可以将 OAuth 令牌从父页面传递到与 Office JS 的内部方法的对话?
- 为什么微软只开发了一种父页面和对话框之间的通信方式?
编辑:
我在 Outlook 中将父页面称为“新会议”窗口,将对话框称为 iFrame (Office.context.ui.displayDialogAsync())。单击插件按钮时,我已跳过任务窗格步骤并直接启动对话框。我的意图是将 OAuth(承载)令牌从父页面(因为用户已经被验证可以访问 O365 邮箱)发送到对话框。
正如 Rick 所说,数据可以通过 localStorage 或查询参数从父级传递到对话框。但我的问题是为什么 Office JS Api 缺少从父级到对话框的通信方法(当相反的方式有方法时)。
【问题讨论】:
标签: oauth-2.0 office365 outlook-addin office-js