Flask - 如何在所有子域中访问remember_me标记

问题描述 投票:1回答:1

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

我正在使用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这样的东西?

flask flask-login
1个回答
0
投票

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

Flask-Login's documentation说:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.