node.js - PassportJS 认证标志波动

标签 node.js express passport.js

人们以各种方式提出了这个问题,但我没有得到我的问题的确切答案。

路由器1

router.post('/user', (req, res, next) => {
    passport.authenticate('local', function(err, user, info) {
        if (err) { 
            return next(err);
        }
        if (!user) { 
            return res.send(info);
        }
        req.logIn(user, function(err) {
          if (err) { 
              return next(err); 
            }
          console.log(req.isAuthenticated()) //return true
          return res.redirect('/myprofile/' + user.username);
        });
      })(req, res, next);
});

重定向的 URL 将在不同的路由器中进行调用。

router.get('/:username', (req, res) => {
   console.log(req.isAuthenticated()) // return false
   UserDetails.findOne({
       username: req.params.username
   }, (err, data) => {
       if(err) {
          res.status(400).send('Couldnt fetch details'); //define errs.
       } {
          res.render('dashboard/dash', {
            firstname: data.firstname,
            lastname: data.lastname
          }); 
       }

   })
});

isAuthenticated 的值发生变化。

我可能错过了什么?

索引

// Express Session Middleware
app.use(session({
  secret: 'keyboard cat',
  resave: true,
  saveUninitialized: true,
  cookie: { secure: true }
}));

//Passsport Middleware
app.use(passport.initialize());
app.use(passport.session());

app.get('*', function(req, res, next){
  res.locals.user = req.user || null;
  next();
});

最佳答案

这个方法你试过吗?

 passport.authenticate(strategyname)

我已将其与 Passport 和 saml 一起使用

关于node.js - PassportJS 认证标志波动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57022417/

相关文章:

express - ExpressJS 3.x 中的自定义日志记录

express - API GW Lambda 代理集成 CORS 问题

javascript - 注册 Passport.js 和 Sails.js 后如何重定向到特定位置?

javascript - 简单的 GET 请求需要很多时间才能返回

javascript - 在 Sails.js 中更新用户模型时密码被更改

javascript - Passport Facebook 登录未将正确的 ID 保存到 Mongo DB

javascript - Node.js 中的导出模块

javascript - `req.session.secret` 未在使用 Express-Session 的路由中定义

javascript - Nodejs 后面写的连接套接字如何保存?

javascript - 具有多线程的 Node.js 中的矩阵乘法?