2017-01-31 14 views
1

私はFlaskウェブサーバー上に構築されたvue-resourceを使ってVueJSアプリケーションを持っています。フラスコセッションを使用して非機密データを保存しようとしています。VueJSとFlaskセッション:各リクエストの新規セッション

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']) 

Iは/additem経路をヒットするたびに、応答のSet-Cookieヘッダが送信には異なるセッション鍵であります要求ヘッダー私は何が欠けていますか?

答えて

0

私の場合、問題はセッションが衝突していました。また、vueアプリは独自のセッションを設定するフラスコAPIを呼び出します。 SECRET_KEYは異なっていました。したがって、Webサーバー呼び出し(またはその逆)の間にapi呼び出しがあった場合、セッションは復号化できず、新しい(空の)データが返されました。

secret_keyを同じ秘密に設定するのは、このトリックでした。

関連する問題