`express-session`でセッション情報が渡らない
Node.js
+ express-session
にてreq.session.userid
が渡らないということがありました。
signin.js
で発効したuseridセッション
をindex.js
へ渡すことを目的としています。
先に結論です。
app.use(session({
secret: 'the secret',
resave: false,
saveUninitialized: true,
cookie: { secure: true } // ここを削除
}))
背景
ここでセッションを発効して
req.session.userid = results.rows[0].id;
route/index.js
で受け取りたいが、、、
router.get('/', (req, res, next) => {
const isAuth = Boolean(req.session.userid);
console.log(req.session)
req.session.userid = undefined
となってしまっていました。
これでは、ログイン状況によってページを出し分けるような処理ができません。
原因
公式にて注意されていました。ゴメンナサイ。
Note be careful when setting this to true, as compliant clients will not > send the cookie back to the server in the future if the browser does not > have an HTTPS connection.
HTTPS接続
じゃないなら、機能しないで。ってことだったみたいです。
localhost:3000
がそうじゃないための、不具合だったのかなと。
Author And Source
この問題について(`express-session`でセッション情報が渡らない), 我々は、より多くの情報をここで見つけました https://zenn.dev/kazuma_soon/articles/5d314eaa382334著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol