Node.js 节点PassportJS身份验证:req.isAuthenticated()不';我不能坐定

Node.js 节点PassportJS身份验证:req.isAuthenticated()不';我不能坐定,node.js,authentication,express,oauth-2.0,passport.js,Node.js,Authentication,Express,Oauth 2.0,Passport.js,问题小结:我在Node.js网站上使用了新版本的express(4.9.0),该网站有几个公共页面和几个私人页面,我使用PassportJS登录Google OAuth2。当我请求登录后的页面时,用户不断被要求登录req.isAuthenticated()不是“粘性的”。我在网上看到一些评论,说cookie解析器版本不兼容可能会有问题,所以这可能是问题所在 下面是我的app.js(相当长): 在第一次登录后,如果我访问/privatepage URL,我将通过Google重新定向,并再次登陆主页

问题小结:我在Node.js网站上使用了新版本的express(4.9.0),该网站有几个公共页面和几个私人页面,我使用PassportJS登录Google OAuth2。当我请求登录后的页面时,用户不断被要求登录
req.isAuthenticated()
不是“粘性的”。我在网上看到一些评论,说cookie解析器版本不兼容可能会有问题,所以这可能是问题所在

下面是我的app.js(相当长):

在第一次登录后,如果我访问/privatepage URL,我将通过Google重新定向,并再次登陆主页。这是那些console.log行的日志中的内容:

in ensureAuth false
session data { cookie:
   { path: '/',
     _expires: null,
     originalMaxAge: null,
     httpOnly: true },
  passport: {} }
user data undefined

我假设这是一个会话问题,它不存储用户的登录状态,但我是一个节点新手&我有点被困在如何修复这个问题上。我在一台计算机上运行,所以这不是多台计算机的问题。关于导致无法存储登录状态的冲突,是否有任何调试建议或想法?

我对SailsJS也有同样的问题。如果我使用邮递员发送请求——或者只使用常规视图——我登录,对数据进行后续请求。。。没问题。如果我从我的Ionic应用程序(AJAX)登录,请发出后续请求——我未被授权。但是,如果我在Postman和我的应用程序中使用两个不同的浏览器选项卡登录,我在应用程序中发出请求不会有问题。奇怪的
in ensureAuth false
session data { cookie:
   { path: '/',
     _expires: null,
     originalMaxAge: null,
     httpOnly: true },
  passport: {} }
user data undefined