gpt4 book ai didi

python - Django:维护跨多个域的 session

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:24 25 4
gpt4 key购买 nike

我有两个/多个域,比如 foo.combar.com 并且都有相同的后端,这意味着两个域将即将到来的请求重定向到在其他地方托管的相同“网络实例”


当前行为

如果用户登录foo.com,他/她还需要登录bar.com 为了访问任何端点/URL,例如 bar.com/some/url/end-point/


SESSION_COOKIE_DOMAIN如果我的域具有通用模式,可能会有所作为。很遗憾,我没有。

问题
如何维护跨多个域的用户 session ?

最佳答案

当您从安全角度来看时,这本身就是一种风险,其中一个域通过任何解决方法都可以从另一个域读取 cookie。因此,出于显而易见的原因,这不能正常工作。

现在在大多数情况下,您唯一想要共享的是 token 或 session ID。所以你可以用不同的方式解决这个问题

授权重定向

假设您的 token 是使用 example.com/auth 生成的。此 url 可以返回 cookie 中的 token 以及 json 响应。然后,您还可以使此 url 返回 301 到 example.org/preauth?token=XXX。然后此 url 将使用 token 设置 cookie

所以基本上,在这种情况下,您可以在服务器端自己处理整个方法

使用像素标签

在这种情况下,您要做的是拥有一个像素标记网址。通过在 example.com/auth

上执行身份验证收到身份验证 token 后

您将使用 javascript 将页面上的一个图像源标记动态添加到您的另一个域

<img src='http://example.org/cookiepixel?token=yyy' /> 

这将返回将在 example.org 而不是 example.com 中设置的 cookie>

在这种方法中,您依赖于客户端代码来确保发生跨域身份验证。

关于python - Django:维护跨多个域的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56659838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com