从外部网站

时间:2018-03-24 19:25:58

标签: session cookies sakai

我们想为我们的应用程序设置会话Cookie的SameSite = strict。但是我们有一些非常特殊的情况(IMS深度链接),我们希望允许外部站点POST到非常特定的URL并使用/维护用户的登录状态。我添加了一个令牌参数来重新建立没有Cookie的会话,所以我可以在不需要SESSION cookie的情况下处理POST - 这可能不是很优雅,但它可以正常工作。

然后这个POST处理代码完成了它的工作并重新定向回自身,导致浏览器发出GET请求。在生成的GET请求中,浏览器不包含SESSION cookie。

这似乎很奇怪,因为重定向来自我的服务器(即不是外部服务器)。

所以我的问题是SameSite的规范是否期望POST-ReDirect-GET序列作为单个操作,即使我的系统接受了POST并且重定向来自我的系统,它也没有cookie?

我通过向GET网址添加一个令牌来解决这个问题,以便对Cookie的需求进行第二次临时绕过,然后从那时起一切正常 - 用户仍然从那时起登录。 cookie始终存在 - 它不是发送到POST或重定向的GET。

我正在使用Chrome。由于我的FireFox忽略了我当前版本的SameSite,因此Cookie就像SameSite之前一样(很长一段时间)。

我认为我们的实现将使用SameSite = strict和允许执行旁路技巧的URL白名单,这些URL需要有一个特殊的令牌来执行旁路,这些URL以其他方式保护自己,而不仅仅是登录cookie中。

但我想确保我的设计基于对SameSite = strict和POST-Redirect的充分理解。

P.S。没有必要告诉我重写交互的另一面,以便不要求浏览器中的ForeignSite POST工作。这是一个规范,我无法控制我需要与之进行互操作的大量实现。

0 个答案:

没有答案
相关问题