Flask “烧瓶登录”;记住“你我”;不适用于烧瓶WTF CSRF

Flask “烧瓶登录”;记住“你我”;不适用于烧瓶WTF CSRF,flask,flask-wtforms,flask-login,Flask,Flask Wtforms,Flask Login,在过去的几天里,我一直在绞尽脑汁,试图找出解决这个问题的合适方法 我正在使用Flask登录和Flask WTF。登录后,我可以通过Flask WTF将所有POST请求提交到CSRF保护的表单,一切都按预期进行 但是,如果设置了“记住我”(因此在客户端放置了一个记住我的cookie)并关闭并重新启动浏览器,则在访问表单时会发生两件事: 1-Flask登录从“记住我”cookie捕获,正确记录 输入和验证 2-尝试发布任何数据,Ajax或 由于表格中的第86行,Flask WTF未通过CSRF验证

在过去的几天里,我一直在绞尽脑汁,试图找出解决这个问题的合适方法

我正在使用Flask登录和Flask WTF。登录后,我可以通过Flask WTF将所有POST请求提交到CSRF保护的表单,一切都按预期进行

但是,如果设置了“记住我”(因此在客户端放置了一个记住我的cookie)并关闭并重新启动浏览器,则在访问表单时会发生两件事:

1-Flask登录从“记住我”cookie捕获,正确记录 输入和验证

2-尝试发布任何数据,Ajax或 由于表格中的第86行,Flask WTF未通过CSRF验证 烧瓶WTF/csrf.py

if field_name not in session:
  raise ValidationError('The CSRF session token is missing.')
这是我猜测的预期行为,因为会话令牌理论上并不存在于记忆会话中,因为Flask登录将用户ID从记忆cookie中取出

有人遇到过这个问题吗?我不知道如何进行排序-我不想禁用CSRF保护,也不允许使用记忆令牌


是否有某种方法可以在成功从cookie检索时刷新会话令牌?

不幸的是,我尝试了这种方法-在我的情况下不起作用。我认为这影响了他们问题中的所有POST请求,因为他们分别运行后端和前端实例,并且必须包含跨域的CRED。