iOS Outlook外接程序不尊重Dialog中外部网站的Set-Cookies标头

问题描述 投票:1回答:1

我有一个Outlook Web加载项,该加载项使用Office.js Dialog API打开一个对话框,该对话框导航到外部(即不在我的加载项域上)身份验证登录页面。当该页面加载到对话框中时,它会传回Set-Cookie标头,并将返回URL值设置为我的加载项中的页面,然后重定向到其他外部站点以执行SAML身份验证(无论用户配置为谁SAML提供程序)。登录完成后,用户将导航到身份验证登录域上的完成页面,然后预期该页面将读取最初设置的cookie,并使用cookie中的URL重定向回加载项。

这在桌面平台上工作正常,但是当通过Outlook IOS应用程序使用外接程序时,我发现Set-Cookies标头似乎不起作用,因为当流程到达完成页面时,没有存在Cookie。

例如(使用占位符URL),从https://my-addin.com/home

加载的加载项功能文件

从测试中看,Set-Cookie标头看起来像在对话框中加载时在加载域中的页面一样;即,如果我在打开对话框的页面上传回Set-Cookie,然后导航到我的另一页插件域cookie将按预期设置,并且可以从第二页读取。但是对于外接程序域之外的页面,似乎无法设置Cookie以便以后使用。

Set-Cookie: ReturnURL=https://my-addin.com/finalize;Version=1;Path=/auth;Domain=auth-helper;Max-Age=86400;HttpOnly;Secure;SameSite=None
  • 返回的示例标题在iOS加载项对话框中似乎不起作用。

有人在这里想到任何解决方法,原因或解决方案吗?

  • 我无法修改加载项之外页面的行为。

  • 我重定向到的页面的X-Frame-Options设置为sameorigin,因此无法在对话框外部的隐藏iFrame中加载它。

  • 此流程适用于桌面Safari,Chrome,IE,Windows Outlook客户端,Mac Outlook客户端,以前曾在2019年9月被发现可在iOS上运行,表明平台本身已发生更改。

  • 在iOS设备上的Safari设置下,“阻止跨站点跟踪”和“阻止所有Cookie”设置均已关闭。

office-js outlook-web-addins
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.