Office js iOS Outlook加载项不尊重对话框中外部站点的设置Cookie标头
我有一个Outlook web加载项,它使用Office.js对话框API打开一个对话框,导航到外部(即不在我的加载项域上)身份验证登录页。当在对话框中加载该页面时,它会传回一个Set Cookie头,返回URL值设置为“我的加载项”中的某个页面,然后重定向到另一个外部站点以执行SAML身份验证(用户将谁配置为其SAML提供程序)。登录完成后,用户将被导航到身份验证登录域上的完成页面,然后该页面将读取最初设置的cookie,并使用cookie中的URL重定向回外接程序 这在桌面平台上运行良好,但是当通过Outlook IOS应用程序使用外接程序时,我发现设置Cookies标题似乎不起作用,因为当流到达完成页面时,没有Cookies存在 e、 g.(使用占位符URL),从加载的加载项函数文件Office js iOS Outlook加载项不尊重对话框中外部站点的设置Cookie标头,office-js,outlook-web-addins,Office Js,Outlook Web Addins,我有一个Outlook web加载项,它使用Office.js对话框API打开一个对话框,导航到外部(即不在我的加载项域上)身份验证登录页。当在对话框中加载该页面时,它会传回一个Set Cookie头,返回URL值设置为“我的加载项”中的某个页面,然后重定向到另一个外部站点以执行SAML身份验证(用户将谁配置为其SAML提供程序)。登录完成后,用户将被导航到身份验证登录域上的完成页面,然后该页面将读取最初设置的cookie,并使用cookie中的URL重定向回外接程序 这在桌面平台上运行良好,但
- 外接程序在(加载自的外接程序所在的域)启动对话框
- 该页面重定向到。Set Cookie头从服务器传回,值为ReturnURL=
- 重定向到已配置的SAML登录页面,将返回url作为传递给SAML提供程序
- 当用户成功登录时,他们将被重定向到。
完成页面尝试从cookie读取ReturnURL的值以导航回加载项,但iOS上的cookie中不存在ReturnURL
- 还可以从代理工具监视请求中看到,在应该设置cookie之后,对auth helper的请求中不存在期望的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设置为SameOrgin,因此我无法将其加载到对话框外部的隐藏iFrame中
- 该流程适用于桌面Safari、Chrome、IE、Windows Outlook客户端、Mac Outlook客户端,此前在2019年9月被视为适用于iOS,这表明平台本身发生了变化
- 在iOS设备上,Safari设置下的“防止跨站点跟踪”和“阻止所有Cookie”设置均已关闭