会话在本地主机上的两个 Flask 应用程序之间共享
Posted
技术标签:
【中文标题】会话在本地主机上的两个 Flask 应用程序之间共享【英文标题】:Session is shared between two Flask apps on localhost 【发布时间】:2017-07-07 02:53:39 【问题描述】:所以,我在 localhost 上运行了两个 Flask 应用程序,一个在端口 5001 上,另一个在端口 5003 上,显然两者都使用相同的会话。如果我登录一个应用程序,它会在另一个应用程序上注销。例如,最近,如果我在一个应用程序上使用我的电子邮件登录,它也会在另一个应用程序上登录我的帐户,因为我有用户在两个应用程序上使用该电子邮件,并且我使用该电子邮件作为用户标识符,但是当我为用户使用另一个 id 时,这种情况就停止了。
我正在使用 Flask-Login 和 Google Chrome(Edge 中也会发生同样的事情)。
我不确定这是否也可能在生产中发生,我们可能会为两个应用程序使用相同的主机,所以这将是一个问题。如果这只是与 localhost 相关的东西,那没关系,但我认为不是这样。
知道这里会发生什么吗?
提前致谢。
【问题讨论】:
【参考方案1】:我遇到了类似的问题,我认为原因是两个实例都会在浏览器中使用相同的“会话 cookie”。
为我修复它的解决方案是重命名 SESSION_COOKIE_NAME
,默认情况下为 session
。
app.config.update(SESSION_COOKIE_NAME=<new_session_name>)
我通过以下方式找到了解决方案:https://***.com/a/45497948/380038
【讨论】:
100% 解决了我在同一台服务器上使用不同端口 80 和 8080 运行 2 个烧瓶(flask-login)应用程序的问题以上是关于会话在本地主机上的两个 Flask 应用程序之间共享的主要内容,如果未能解决你的问题,请参考以下文章
使用 Twilio + Flask + Ngrok + Python (2.7) 在本地主机上出现 404 错误