Passport会话在Nginx代理之后过期-NodeJS

时间:2018-12-05 10:33:31

标签: node.js nginx passport.js

我正在使用PassportJS对我的用户进行身份验证,并且已将其设置在Nginx代理后面。闲置约10-15分钟后,req.isAuthenticated()返回false

我已经这样初始化Passport

// Initialize Passport
require('./auth/passport')(passport);
app.use(session({ store: new RedisStore({ host: 'localhost', port: 6379, client: client,ttl :  260}), secret: config.passportSessionSecret , proxy: true , cookie: {maxAge : 36000000} , saveUninitialized: true , resave: true }));
app.use(passport.initialize());
app.use(passport.session());

我的nginx代理就是这样

location / {
            auth_basic "Private Property";
            auth_basic_user_file /etc/nginx/.httppassword;
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            proxy_pass http://127.0.0.1:8080;
    }

我正在使用Let's encrypt SSL,还使用Nginx HTTP Password保护服务器。

也有很多用户通过同一Nginx Password

登录

我做错什么了吗

关注此事!它起作用 https://gist.github.com/nikmartin/5902176

1 个答案:

答案 0 :(得分:0)

添加滚动选项。

示例:

app.use(session({ store: new RedisStore({ host: 'localhost', port: 6379, client: client,ttl :  260}), secret: config.passportSessionSecret , proxy: true , cookie: {maxAge : 36000000} , saveUninitialized: true , resave: true, rolling: true }));