Node.js Passportjs req.isAuthenticated始终显示false

Node.js Passportjs req.isAuthenticated始终显示false,node.js,angular,express,passport.js,Node.js,Angular,Express,Passport.js,我工作nodejs/Angular passport中间件登录验证工作正常,但当我尝试在req的帮助下获取登录用户名时。身份验证不调用passport.deserializeUser函数always req.Authentication显示错误帮助如何纠正此问题任何想法。 这里我粘贴了我的代码 Server.js PassportConfig 用户模式 最后,我找到了一个解决方案,解决了使用凭据传递登录头请求的问题:true const httpOptions = { observe:'bo

我工作nodejs/Angular passport中间件登录验证工作正常,但当我尝试在req的帮助下获取登录用户名时。身份验证不调用passport.deserializeUser函数always req.Authentication显示错误帮助如何纠正此问题任何想法。 这里我粘贴了我的代码

Server.js PassportConfig 用户模式
最后,我找到了一个解决方案,解决了使用凭据传递登录头请求的问题:true

const httpOptions = {
  observe:'body',
  withCredentials:true,
  headers:new HttpHeaders().append('Content-Type','application/json')
};

我在你的代码中看不到对“req.authentication”的引用,你能确保你指定了正确的变量/函数,并且总是返回false吗?req.isAuthenticated我更新了我的问题@ElliotBlackburnGreat,如果你的问题还没有更新,那么在正文中更新它是值得的。谢谢您的澄清。@ElliotBlackburn解决这个问题有什么想法吗?在哪里声明了
req.isAuthenticated()
?我看不到它被附加到
req
对象的任何地方。通常,Passportjs将
user
对象附加到
req
,因此一般测试是
if(req.user){/*用户已登录*/},否则{/*用户未登录*/}
。我不确定isAuthenticated在哪里被附加到req对象,或者req.isAuthenticated的定义是什么。
const User = require('../SchemaConfig/UserSchema');
var passport = require('passport')
    , LocalStrategy = require('passport-local').Strategy;
const bcrypt = require('bcrypt-nodejs');

passport.use('local', new LocalStrategy({
    usernameField: 'Email',
    passwordField: 'Password'
},
    function (Email, Password, done) {
        debugger
        User.findOne({ Email: Email }, function (err, user) {
            debugger
            if (err) { return done(err); }
            if (!user) {
                return done(null, false, {

                    ErrorMsg: 'Incorrect Email.'

                });
            }
            if (user) {
                GlobalUserPwd = user.Password;
            }
            if (!ComparePassword(Password)) {
                return done(null, false, {

                    ErrorMsg: 'Incorrect password.'

                });
            }
            return done(null, user);
        });
    }
));


passport.serializeUser(function (user, done) {
    done(null, user.id);
});

passport.deserializeUser(function (id, done) {
    User.findById(id, function (err, user) {
        done(err, user);
    });
});


function ComparePassword(CandidatePassword) {

    return bcrypt.compareSync(CandidatePassword, GlobalUserPwd)
};
 exports.loginVerify = (req, res, next) => {
        passport.authenticate('local', function (err, user, info) {
            debugger
            if (err) { return next(err); }
            if (!user) { return res.status(501).json(info); }
            req.logIn(user, function (err) {
                if (err) { return next(err); }
                 return res.status(200).json({message:'Login Success'});

            });
        })(req, res, next);
    };
const httpOptions = {
  observe:'body',
  withCredentials:true,
  headers:new HttpHeaders().append('Content-Type','application/json')
};