且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

flask-login:Chrome是否忽略Cookie的过期时间?

更新时间:2023-02-01 18:47:35

REMEMBER_COOKIE_DURATION 用于记住我"功能,即即使关闭浏览器也要记住登录用户多长时间.为此使用了单独的cookie,其名称可以由 REMEMBER_COOKIE_NAME (默认为 remember_token )设置.要在一段时间后强制登录会话过期(即使浏览器仍保持运行),请在保存应用程序设置的位置设置 PERMANENT_SESSION_LIFETIME :

REMEMBER_COOKIE_DURATION is used for "Remember me" functionality, that is, how long to remember logged in user even if he closed the browser. The separate cookie is used for that, the name of which can be set by REMEMBER_COOKIE_NAME (remember_token by default). To force login session to expire after some time (even if the browser is still kept running), set PERMANENT_SESSION_LIFETIME somewhere where you keep your app settings:

PERMANENT_SESSION_LIFETIME = datetime.timedelta(minutes=30)

在登录视图中,设置 session.permanent = True :

from flask import session

@app.route('/login')
def login():
    # ...
    if login_user(user):
        session.permanent = True
        return redirect(request.args.get('next') or url_for('index'))
    # ...