会话在本地主机上的两个 Flask 应用程序之间共享

Session is shared between two Flask apps on localhost

因此,我在本地主机上有两个 Flask 应用程序 运行,一个在端口 5001 上,另一个在端口 5003 上,显然两者都在使用同一个会话。如果我登录一个应用程序,它会在另一个应用程序上注销。例如,最近,如果我在一个应用程序上使用我的电子邮件登录,它也会在另一个应用程序上登录我的帐户,因为我有用户在两个应用程序上使用该电子邮件,并且我使用电子邮件作为用户标识符,但是当我为用户使用另一个 ID 时,这种情况就停止了。

我正在使用 Flask-Login,并且 Google Chrome(同样的事情发生在 Edge 中)。

我不太确定这是否也会在生产中发生,我们可能会为两个应用程序使用相同的主机,所以这会是个问题。如果这只是与本地主机相关的东西,那没关系,但我认为不是这样。

知道这里会发生什么吗?

提前致谢。

我遇到了类似的问题,我认为原因是两个实例在浏览器中使用相同的 "session cookie"。

为我修复它的解决方案是重命名 SESSION_COOKIE_NAME,默认情况下为 session

app.config.update(SESSION_COOKIE_NAME=<new_session_name>)

我通过以下方式找到了解决方案: