【问题标题】:VueJS and Flask sessions: new session each requestVueJS 和 Flask 会话:每个请求的新会话
【发布时间】:2017-06-17 06:05:23
【问题描述】:

我有一个 VueJS 应用程序,它使用构建在 Flask 网络服务器上的 vue-resource。我正在尝试使用烧瓶会话来存储非敏感数据。

请求.vue:

this.$http.post('/additem', postData)
.then(function success(res) {
  console.log('all items after add:', res.body);
});

routes.py:

APP.config.update(
    SESSION_COOKIE_HTTPONLY=False,
    SECRET_KEY='speakfriend'
    )


@APP.route('/', methods=['GET'])
def index():
    return render_template('index.html', rawsettings=config)

@APP.route('/additem', methods=['POST'])
def add_item():
    entity_id = request.form.get('entity_id')
    session['items'].append(entity_id)
    print('items: {}'.format(session['items']))
    session.modified = True
    return jsonify(session['items'])

每次我点击/additem 路由时,响应的 Set-Cookie 标头与请求标头中发送的会话密钥不同。我错过了什么?

【问题讨论】:

    标签: session flask vue.js vue-resource


    【解决方案1】:

    就我而言,问题是会话冲突。 vue 应用程序还调用了一个烧瓶 api,它设置了自己的会话。 SECRET_KEYs 是不同的。因此,当网络服务器调用之间存在 api 调用(反之亦然)时,会话无法解密并返回新的(空)数据,就好像我们从未去过那里一样。

    secret_key设置为相同的秘密就可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      • 2018-12-30
      • 2021-10-20
      相关资源
      最近更新 更多