python-3.x - 烧瓶中的 REMEMBER_COOKIE_DURATION 不起作用
问题描述
我正在尝试将我的应用程序配置为在一段时间后使 cookie 过期,但是它们没有按预期工作,我的 cookie 根本没有过期。
我的 app.py 文件中有以下配置:
from flask_login import LoginManager
from datetime import timedelta
app.config['REMEMBER_COOKIE_DURATION'] = timedelta(seconds=30)
login = LoginManager(app)
login.init_app(app)
login.login_view = 'login'
以下是我的 remember_me 输入:
<input type="checkbox" class="form-check-input" id="remember_me" name="remember_me">
<label class="form-check-label" for="remember_me">Remember me for 1 week</label>
最后以下是我的视图功能:
@app.route('/login', methods=['GET', 'POST'])
def login():
if current_user.is_authenticated:
return flask.redirect(flask.url_for('home'))
if flask.request.method == 'POST':
member_username = flask.request.form['member_username']
member_password = flask.request.form['member_password']
remember_me = flask.request.form.get('remember_me')
existing_user = Users.query.filter_by(username=member_username).first()
if existing_user is None or not existing_user.check_password(member_password):
flask.flash('Invalid username or password')
return flask.redirect(flask.url_for('login'))
if existing_user:
login_user(existing_user, remember=remember_me)
next_page = flask.request.args.get('next')
if not next_page or url_parse(next_page).netloc != '':
next_page = flask.url_for('home')
return flask.redirect(next_page)
return flask.render_template('login.html')
我已经关注的资源: https ://code.luasoftware.com/tutorials/flask/how-to-configure-flask-login/ https://www.youtube.com/watch?v=CRvV9nFKoPI flask-login: Chrome忽略cookie过期?
我错过了什么?
解决方案
我有同样的问题,添加 PERMANENT_SESSION_LIFETIME 对我有用。我的理解是 REMEMBER_COOKIE_DURATION 和 PERMANENT_SESSION_LIFETIME 都会影响会话何时到期。
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(seconds=30)
推荐阅读
- javascript - 使用 axios 时从服务器获取 json 错误响应
- c# - 从在 FormView 中绑定数据的 DropDownList 中删除重复项
- reactjs - 如何处理烧瓶中应该从反应构建返回静态文件的多个路由?
- python - 为树莓派安装 TensorFlow
- java - 在单元格触发打开对话框时更新java表模型
- r - 如何根据不同的分位数更改 geom_quantile 中的线型?
- augmented-reality - 使用 iPad LiDAR 并将网格导入 RealityKit
- node.js - How to active CORS in firebase functions with NestJs
- swift - 使用 replaceCurrentItem() 时 AVPlayer 闪烁 - Swift - 以编程方式
- javascript - 我如何必须在这里使用 gotoAndStop() ?