VueJS 和 Flask sessions:新 session 每个请求
VueJS and Flask sessions: new session each request
我有一个使用 vue-resource 构建在 Flask 网络服务器上的 VueJS 应用程序。我正在尝试使用烧瓶 sessions 来存储 non-sensitive 数据。
Request.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 header 与请求 header 中发送的密钥不同 session .我错过了什么?
就我而言,问题是会话冲突。 vue 应用程序还会调用 flask api,它会设置自己的会话。 SECRET_KEY
不同。因此,当网络服务器调用之间存在 api 调用时(反之亦然),会话无法解密并返回新的(空)数据,就好像我们从未去过那里一样。
将 secret_key
设置为相同的秘密就成功了。
我有一个使用 vue-resource 构建在 Flask 网络服务器上的 VueJS 应用程序。我正在尝试使用烧瓶 sessions 来存储 non-sensitive 数据。
Request.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 header 与请求 header 中发送的密钥不同 session .我错过了什么?
就我而言,问题是会话冲突。 vue 应用程序还会调用 flask api,它会设置自己的会话。 SECRET_KEY
不同。因此,当网络服务器调用之间存在 api 调用时(反之亦然),会话无法解密并返回新的(空)数据,就好像我们从未去过那里一样。
将 secret_key
设置为相同的秘密就成功了。