【问题标题】:outlook web addin - cookies are cleared when task pane closed win 10Outlook Web 插件 - 关闭任务窗格时清除 cookie win 10
【发布时间】:2020-03-31 10:14:49
【问题描述】:

我正在开发一个 Outlook Web 插件,在任务窗格中我有一个使用 httpOnly 从服务器发送的 cookie。对于相同的会话 cookie 处理正确,当我关闭任务窗格并重新打开 cookie 似乎被清除。 这不会发生在 Mac 上,当 Outlook 使用的浏览器是 IE11 时,不会发生在 Windows 上。 似乎只有在前景使用边缘作为引擎时才会发生。 是否可以在清单中添加一些内容来避免清除 cookie?

【问题讨论】:

  • 我不会依赖会话 cookie 在 Outlook 加载项打开/关闭之间持续存在。我建议浏览器本地存储或 Office.RoamingSettings 保存信息或使用 API 调用。 cookie 的目的是什么?是否与服务器保持某种状态?是因为某个特定的 Web 控件/组件吗?
  • 我想像依赖浏览器打开/关闭一样依赖它,这样在我关闭前景之前,至少会话将持续(我希望更长的时间,但我想这是在推动它)。我们有一个带有 httpOnly 设置的会话 cookie。正如我所提到的,这适用于大多数 Outlook 桌面版本。
  • 除非 Outlook 加载项文档声明或 Microsoft 认为它应该持续存在,否则这将是一个冒险的假设,尤其是在构建生产解决方案时。如果它坏了会发生什么?当我通过使用 Visual Studio 附加到 IE 浏览器进程来调试 Outlook 桌面加载项时,每次打开加载项窗格时,都会启动一个新的 IE 进程。 cookie 是出于身份验证的原因吗?坚持的原因?在这里,作者进行了 OAuth,因为 cookie 用于身份验证的原因。 stackoverflow.com/questions/50706692/…

标签: cookies outlook-web-addins


【解决方案1】:

添加到@BrianClink 的响应中,会话 cookie 可能适用于大多数使用 Internet Explorer 加载加载项的版本。每当关闭加载项时,Internet Explorer 都会保持活动状态一段时间,这可能会保留会话 cookie。自从我们切换到 Microsoft Edge 后,情况就不再如此了。所以请不要依赖这种行为来保存 cookie。

【讨论】:

  • 为什么关闭浏览器进程会删除该浏览器的cookies?
  • 这取决于浏览器和cookie的种类。一些 cookie,如 HttpOnly cookie 和没有过期日期的 cookie,通常不会被持久化。见developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多