【发布时间】:2018-01-23 10:51:10
【问题描述】:
我正在尝试使用 Office JS API 构建一个 Word 插件,该 API 与外部 Web 服务(在我的控制下)对话。
我正在使用 ui.displayDialogAsync 打开一个对话框,它会立即重定向到外部服务器的登录页面(重定向是为了绕过相同的域限制)。
当用户正确输入他们的登录详细信息时,服务器会返回一个会话 cookie。
不幸的是,在 Word 2016 的旧版本中,当在 Word 中关闭对话框时,所有会话 cookie 都将被遗忘,并且从插件发送到 Web 服务的任何进一步请求都将被拒绝,因为没有发送任何 cookie。
该问题在 Word 2016 的批量许可版本中出现,但在 Word 2016 的 Office 365 版本中不存在,后者似乎具有更高的版本/内部版本号。
如果我使用 Fiddler 查看请求/响应,我可以看到对话框内部发出的请求与对话框关闭后发出的请求来自不同的进程 ID。
出于安全原因(一旦用户关闭浏览器,会话需要终止),我不能使用持久性 cookie,而且持久性 cookie 似乎与 IE 共享,我们需要在 IE 中拥有独立的会话和同时Word(一些重要的状态存储在cookie中)。
有没有其他人遇到过这个/知道如何解决它。
【问题讨论】:
标签: javascript session-cookies office-js