在 Python 3.8 和 3.11.2 上测试
我今天从 Flask 2.2.3 更新到 2.3.2,登录不再有效。
我使用 Flask-login (0.6.2)。 什么时候,之后
login_user(user)
应用程序重定向到用户主页,这里当前用户是匿名的。
我发现原因是因为 Flask 2.3.0 SESSION_COOKIE_DOMAIN 没有回落到 SERVER_NAME。
在之前的 Flask 中,如果没有设置 SESSION_COOKIE_DOMAIN,那么 cookie 将对 SERVER_NAME 的所有子域有效。
由于在我的应用程序中身份验证后(在 appdomain.com 中)用户被重定向到她自己的子域(username.appdomain.com)中的主页,所以我必须设置 SESSION_COOKIE_DOMAIN 以便 cookie 对 SERVER_NAME 的所有子域都有效.
所以我设置了这个配置:
SESSION_COOKIE_DOMAIN = ".appdomain.com"
它正在工作。