首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CloudFlare set-cookie未传递到浏览器

CloudFlare set-cookie未传递到浏览器
EN

Stack Overflow用户
提问于 2017-09-19 14:29:15
回答 2查看 3.1K关注 0票数 1

我在CloudFlare后面有一个快速应用程序。在开发中,Set-Cookie标头在登录时传递,但在CloudFlare后面,不传递Set-Cookie标头。有什么建议吗?我的配置是:

代码语言:javascript
运行
复制
```javascript

const secret = 'foo';

const authenticationMiddleware = (req,res,next) => {

console.log('authenticated',req.isAuthenticated());

如果(req.isAuthenticated()) {

代码语言:javascript
运行
复制
next();

} else if (req.url.includes('/rest/')) {

代码语言:javascript
运行
复制
res.status(401).send('Unauthorized');

}否则{

代码语言:javascript
运行
复制
res.status(302).redirect('/admin/login');

}

};

const sessionSecurity =(应用程序) => {

App.set(‘信任代理’,1);

App.use(cookieParser(秘密));

app.use(

代码语言:javascript
运行
复制
session({
代码语言:javascript
运行
复制
  secret,
代码语言:javascript
运行
复制
  proxy: true, 
代码语言:javascript
运行
复制
  saveUninitialized: false,
代码语言:javascript
运行
复制
  resave: false,
代码语言:javascript
运行
复制
  maxAge: null,
代码语言:javascript
运行
复制
  cookie: {
代码语言:javascript
运行
复制
    path: '/admin',
代码语言:javascript
运行
复制
    secure: process.env.NODE_ENV === 'production',
代码语言:javascript
运行
复制
  },
代码语言:javascript
运行
复制
}),

);//会话密码

app.use(passport.initialize());

app.use(passport.session());

Passport.use(新LocalStrategy(localPassport.local));

Passport.serializeUser((用户,完成)) => {

代码语言:javascript
运行
复制
done(null, user.id);

});

passport.deserializeUser(localPassport.deserializeUser);

app.post('/admin/login',(req,res,next) => {

代码语言:javascript
运行
复制
passport.authenticate('local', (authErr, user) => {
代码语言:javascript
运行
复制
  if (authErr) return next(new Error(authErr));
代码语言:javascript
运行
复制
  if (!user) {
代码语言:javascript
运行
复制
    return res.sendStatus(401);
代码语言:javascript
运行
复制
  }
代码语言:javascript
运行
复制
  return req.logIn(user, (loginErr) => {
代码语言:javascript
运行
复制
    if (loginErr) return res.sendStatus(401);
代码语言:javascript
运行
复制
    return res.sendStatus(200);
代码语言:javascript
运行
复制
  });
代码语言:javascript
运行
复制
})(req, res, next);

});

注销(‘/app.post/logout’,(req,res) => {

代码语言:javascript
运行
复制
req.logOut();
代码语言:javascript
运行
复制
req.session.destroy(() => {
代码语言:javascript
运行
复制
  res
代码语言:javascript
运行
复制
    .clearCookie('connect.sid', { path: '/admin' })
代码语言:javascript
运行
复制
    .sendStatus(200);
代码语言:javascript
运行
复制
});

});

app.get('/admin/rest/*',authenticationMiddleware);

app.get('/admin/rest/status',(req,res) => {

代码语言:javascript
运行
复制
res.sendStatus(200);

});

};

代码语言:javascript
运行
复制
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46293364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档