Flask-如何在所有子域中访问Remember_me令牌

时间:2019-04-23 20:33:22

标签: flask flask-login

我正在尝试使用Flask创建具有9个以上控制器的应用程序,其中一些控制器位于不同的子域中。

我正在使用 Flask_Login 来允许用户登录,用户控制器存在于单独的子域中,如果我访问了该子域,则会发生问题,在我的控制台内,它显示了一个重定向,用于首先登录用户来访问该子域,并且在Cookie内,我看不到Remember_me令牌。

以下是该扩展程序的配置:

SERVER_NAME = 'localhost:5000'

# Login configurations
REMEMBER_COOKIE_DURATION = timedelta(seconds=7*24*60*60)
REMEMBER_COOKIE_NAME = 'myapp.remember'
REMEMBER_COOKIE_SECURE = True
REMEMBER_COOKIE_HTTPONLY = True
REMEMBER_COOKIE_REFRESH_EACH_REQUEST = True
REMEMBER_COOKIE_DOMAIN = '.localhost:5000'

from .controllers.client import client_route

app.register_blueprint(client_route, subdomain='client')

Cookie中的域为 localhost ,如何将其更改为 .localhost ??

1 个答案:

答案 0 :(得分:0)

您需要在配置中将REMEMBER_COOKIE_SECURE设置为False

根据Flask-Login's documentation

  

限制“记住我” cookie的范围以保护频道   (通常是HTTPS)。

它仅在应用程序的HTTPS版本上设置cookie