web-dev-qa-db-ja.com

Node JSセッションエラー:エクスプレスセッションは非推奨

ノードのjsファイルに次のものがあります

var express = require('express');
var util = require('./lib/utility');
var partials = require('express-partials');
var bodyParser = require('body-parser');

var session = require('express-session');

/* abstracted some code */

app.use(session({
  genid: function(req) {
    return genuuid(); // use UUIDs for session IDs
  },
  secret: 'keyboard cat'
}));

サーバーを起動すると、

express-session deprecated undefined resave option; provide resave option server.js
express-session deprecated undefined saveUninitialized option; provide saveUninitialized option server.js

非推奨のものを理解するのに苦労していますか?例を https://github.com/expressjs/session からコピーしました

ページを読み込もうとすると、次のようになります。

ReferenceError:genuuidがapp.use.session.genidで定義されていません

12
Arian Faurtosh

genuuid関数をどこかに定義する必要があります。 express-session readmeは、すでにそれを実装していることを前提としています。

警告に関しては、セッション構成オブジェクトでresaveおよびsaveUninitializedオプションを明示的に設定する必要があります。

15
mscdex

From express 4.0、express-セッションと奇数の警告メッセージ

警告にあるように、デフォルト値は変更されるため、値を明示的に設定することで、デフォルトが変更されたときに予期しない動作が発生しないようにする必要があります(近い将来)。

app.use(session({
    secret: cookie_secret,
    resave: true,
    saveUninitialized: true
}));
5
Darryl Snow
app.use(session({ secret: 'anything', resave: true, saveUninitialized: true }));/
2
Rajesh Kumar

問題-エクスプレスセッションで非推奨の未定義のsaveUninitializedオプション

問題-saveUninitializedオプションを提供する

これを使用して、それが役立つことを願っています

app.use(session({
    name : 'codeil',
    secret : 'something',
    resave :false,
    saveUninitialized: true,
    cookie : {
            maxAge:(1000 * 60 * 100)
    }      
}));
0
Ravi Chandola

セッションCookieの期間にmaxAgeを使用している場合:

app.use(session({
  secret: '<session_secret>', 
  resave: true, 
  saveUninitialized: true,
  maxAge: 3600000   // 1 hour (in milliseconds)
})); 
0
Gajen Sunthara

expressの新しいバージョンを使用して、アプリのどこかにgenid関数を定義するか、uuidを使用する必要があります。 代わりにパッケージ

0
mohamed ibrahim