【问题标题】:Session is shared between two Flask apps on localhost会话在本地主机上的两个 Flask 应用程序之间共享
【发布时间】:2017-07-07 02:53:39
【问题描述】:

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

我正在使用 Flask-Login 和 Google Chrome(Edge 中也会发生同样的事情)。

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

知道这里会发生什么吗?

提前致谢。

【问题讨论】:

    标签: python session flask localhost flask-login


    【解决方案1】:

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

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

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

    我通过以下方式找到了解决方案:https://stackoverflow.com/a/45497948/380038

    【讨论】:

    • 100% 解决了我在同一台服务器上使用不同端口 80 和 8080 运行 2 个烧瓶(flask-login)应用程序的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多