一种常见的解决方法是在使用Auth0验证时,确保在回调中正确设置isAuthenticated()方法。以下是一个示例代码片段:
router.get('/callback', function(req, res, next) { passport.authenticate('auth0', function(err, user, info) { if (err) { return next(err); } if (!user) { return res.redirect('/login'); } req.logIn(user, function(err) { if (err) { return next(err); } req.session.isAuthenticated = true; // 设置 is Authenticated (已验证) res.redirect('/user'); }); })(req, res, next); });
在上面的代码片段中,我们可以看到在req.session.isAuthenticated中设置了true,这将确保在以后的过程中始终返回正确的isAuthenticated()状态。