Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点+;Express+;护照+;Mongoose:req.user未定义_Javascript_Node.js_Express_Mongoose_Passport.js - Fatal编程技术网

Javascript 节点+;Express+;护照+;Mongoose:req.user未定义

Javascript 节点+;Express+;护照+;Mongoose:req.user未定义,javascript,node.js,express,mongoose,passport.js,Javascript,Node.js,Express,Mongoose,Passport.js,登录时,定义了req.user,但在其他路径上,未定义req.user。也许我做错了什么,我没有主意了 此外,欲望化从未被称为欲望化 server.js: var LocalStrategy = require('passport-local').Strategy; const User = require('./models/user'); const app = express(); mongoose.Promise = global.Promise; const mongoDB =

登录时,定义了req.user,但在其他路径上,未定义req.user。也许我做错了什么,我没有主意了

此外,欲望化从未被称为欲望化

server.js:

var LocalStrategy = require('passport-local').Strategy;

const User = require('./models/user');

const app = express();

mongoose.Promise = global.Promise;

const mongoDB = 'mongodb://mlab.com:21494/tester';
mongoose.connect(mongoDB, { useMongoClient: true })
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));

app.use(function (req, res, next) {
  res.header('Access-Control-Allow-Credentials', 'true');
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
  res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept, Authorization');

  if ('OPTIONS' == req.method) {
    res.sendStatus(200);
  } else {
    next();
  }
});

app.use(logger('dev'));

app.use(compression());

//////////////////////////////////////////////////


passport.use(new LocalStrategy(
  function(username, password, done) {
    console.log('Strategy>>>>');
    User.findOne({ username: username }, function (err, user) {
      if (err) { return done(err); }
      if (!user) { return done(null, false); }
      if (!user.verifyPassword(password)) { return done(null, false); }
      return done(null, user);
    });
  }
));

passport.use(User.createStrategy());


passport.serializeUser(function (user, done) {
  console.log('SERIALIZE', user);   //called                     
  done(null, user.id);
});

passport.deserializeUser(function (id, done) {
  console.log('DESIRIALIZE'); // not called
  User.findById(id, function (err, user) {
    console.log('USER Desirialise', user);
    done(err, user);
  });
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
// Session
app.use(require('express-session')({
    secret: 'keyboard cat',
    resave: false,
    saveUninitialized: false
}));

app.use(passport.initialize());
app.use(passport.session());



//=====================LOGIN==================================
app.use('/', require('./routes/userRouters'));
const router = require('express').Router();
const jwt = require('jsonwebtoken');
const passport = require('passport');

const User = require('../models/user');

router.post('/signin', passport.authenticate('local'), function (req, res, next) {
  console.log('SIGN IN');
  const { user } = req
  const token = jwt.sign({ username: user.username, email: user.email, _id: user._id }, 'RESTFULAPIs')
  console.log('REQ USER>>', req.user); // defined
  console.log('SESION', req.session.cookie); // passport defined
  res.json({
    user: {
      user: user.username,
      email: user.email,
      created: user.created
    },
    token: token
  });
})

router.get('/test', function (req, res) {
console.log('============================================');
  console.log('reqUSER', req.user); //undefined
  console.log('SESION', req.session.cookie); // passport undefined 
  res.json(req.user); 
});
///////////////////////////////////////////////////
router.post('/register', function (req, res, next) {
  const { username, email, password } = req.body;

  User.register(
    new User({ username, email, password }),
    req.body.password,
    (err, account) => {
      if (err) {
        res.send({
          status: 400,
          error: err.message,
          data: {
            errorName: err.name
          }
        });

        return;
      }

      passport.authenticate('local')(req, res, function () {
        console.log('REG req.user:>>>>', req.user); // defined
        res.send({ auth: true })
      });
    });
})

router.get('/logout', function (req, res) {
  console.log('============================================');
  console.log('reqUSER', req.user); //undefined
  console.log('SESION', req.session.cookie); // passport undefined
  req.logout();
  res.json({ messageSuccessful: 'Logout successful' });
  consol.log(req.user)// null
});
 signUp(user) {
    const { cookies } = this.props;
    const date = new Date();
    date.setDate(date.getDate() + 2000)

    axios.post(`${URL}/register`, user).then((result) => {
      console.log('RESULT SIGNIN', result);

      if (result.data.error) {
        this.setState({ error: result.data.error })
      } 
        this.setState({
          message: result.data.message,
          auth: result.data.auth
        })
      }
    }
    )
  }

  signIn(user) {
    const { cookies } = this.props;
    const date = new Date();
    date.setDate(date.getDate() + 2000);
    axios.post(`${URL}/signin`, user).then((result) => {
      console.log('RESULT SIGNIN', result);
      if (result.data.error) {
        this.setState({ loginErrorMessage: result.data.error })
      } 
        this.setState({
          loginErrorMessage: '',
          modalIsOpen: false,
          auth: true
        })
      }
    }
    )
  };
axios.post(`${URL}/signin`, user).then((result) => {
//something
})
const myInit = {
      method: 'post',
      headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(user),
      mode: 'cors',
      credentials: "include",
    };

    fetch(`${URL}/signin`, myInit).then(res => res.json())
      .then(res => {
        console.log(res)
      });
userRouters.js:

var LocalStrategy = require('passport-local').Strategy;

const User = require('./models/user');

const app = express();

mongoose.Promise = global.Promise;

const mongoDB = 'mongodb://mlab.com:21494/tester';
mongoose.connect(mongoDB, { useMongoClient: true })
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));

app.use(function (req, res, next) {
  res.header('Access-Control-Allow-Credentials', 'true');
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
  res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept, Authorization');

  if ('OPTIONS' == req.method) {
    res.sendStatus(200);
  } else {
    next();
  }
});

app.use(logger('dev'));

app.use(compression());

//////////////////////////////////////////////////


passport.use(new LocalStrategy(
  function(username, password, done) {
    console.log('Strategy>>>>');
    User.findOne({ username: username }, function (err, user) {
      if (err) { return done(err); }
      if (!user) { return done(null, false); }
      if (!user.verifyPassword(password)) { return done(null, false); }
      return done(null, user);
    });
  }
));

passport.use(User.createStrategy());


passport.serializeUser(function (user, done) {
  console.log('SERIALIZE', user);   //called                     
  done(null, user.id);
});

passport.deserializeUser(function (id, done) {
  console.log('DESIRIALIZE'); // not called
  User.findById(id, function (err, user) {
    console.log('USER Desirialise', user);
    done(err, user);
  });
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
// Session
app.use(require('express-session')({
    secret: 'keyboard cat',
    resave: false,
    saveUninitialized: false
}));

app.use(passport.initialize());
app.use(passport.session());



//=====================LOGIN==================================
app.use('/', require('./routes/userRouters'));
const router = require('express').Router();
const jwt = require('jsonwebtoken');
const passport = require('passport');

const User = require('../models/user');

router.post('/signin', passport.authenticate('local'), function (req, res, next) {
  console.log('SIGN IN');
  const { user } = req
  const token = jwt.sign({ username: user.username, email: user.email, _id: user._id }, 'RESTFULAPIs')
  console.log('REQ USER>>', req.user); // defined
  console.log('SESION', req.session.cookie); // passport defined
  res.json({
    user: {
      user: user.username,
      email: user.email,
      created: user.created
    },
    token: token
  });
})

router.get('/test', function (req, res) {
console.log('============================================');
  console.log('reqUSER', req.user); //undefined
  console.log('SESION', req.session.cookie); // passport undefined 
  res.json(req.user); 
});
///////////////////////////////////////////////////
router.post('/register', function (req, res, next) {
  const { username, email, password } = req.body;

  User.register(
    new User({ username, email, password }),
    req.body.password,
    (err, account) => {
      if (err) {
        res.send({
          status: 400,
          error: err.message,
          data: {
            errorName: err.name
          }
        });

        return;
      }

      passport.authenticate('local')(req, res, function () {
        console.log('REG req.user:>>>>', req.user); // defined
        res.send({ auth: true })
      });
    });
})

router.get('/logout', function (req, res) {
  console.log('============================================');
  console.log('reqUSER', req.user); //undefined
  console.log('SESION', req.session.cookie); // passport undefined
  req.logout();
  res.json({ messageSuccessful: 'Logout successful' });
  consol.log(req.user)// null
});
 signUp(user) {
    const { cookies } = this.props;
    const date = new Date();
    date.setDate(date.getDate() + 2000)

    axios.post(`${URL}/register`, user).then((result) => {
      console.log('RESULT SIGNIN', result);

      if (result.data.error) {
        this.setState({ error: result.data.error })
      } 
        this.setState({
          message: result.data.message,
          auth: result.data.auth
        })
      }
    }
    )
  }

  signIn(user) {
    const { cookies } = this.props;
    const date = new Date();
    date.setDate(date.getDate() + 2000);
    axios.post(`${URL}/signin`, user).then((result) => {
      console.log('RESULT SIGNIN', result);
      if (result.data.error) {
        this.setState({ loginErrorMessage: result.data.error })
      } 
        this.setState({
          loginErrorMessage: '',
          modalIsOpen: false,
          auth: true
        })
      }
    }
    )
  };
axios.post(`${URL}/signin`, user).then((result) => {
//something
})
const myInit = {
      method: 'post',
      headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(user),
      mode: 'cors',
      credentials: "include",
    };

    fetch(`${URL}/signin`, myInit).then(res => res.json())
      .then(res => {
        console.log(res)
      });
客户端:

var LocalStrategy = require('passport-local').Strategy;

const User = require('./models/user');

const app = express();

mongoose.Promise = global.Promise;

const mongoDB = 'mongodb://mlab.com:21494/tester';
mongoose.connect(mongoDB, { useMongoClient: true })
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));

app.use(function (req, res, next) {
  res.header('Access-Control-Allow-Credentials', 'true');
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
  res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept, Authorization');

  if ('OPTIONS' == req.method) {
    res.sendStatus(200);
  } else {
    next();
  }
});

app.use(logger('dev'));

app.use(compression());

//////////////////////////////////////////////////


passport.use(new LocalStrategy(
  function(username, password, done) {
    console.log('Strategy>>>>');
    User.findOne({ username: username }, function (err, user) {
      if (err) { return done(err); }
      if (!user) { return done(null, false); }
      if (!user.verifyPassword(password)) { return done(null, false); }
      return done(null, user);
    });
  }
));

passport.use(User.createStrategy());


passport.serializeUser(function (user, done) {
  console.log('SERIALIZE', user);   //called                     
  done(null, user.id);
});

passport.deserializeUser(function (id, done) {
  console.log('DESIRIALIZE'); // not called
  User.findById(id, function (err, user) {
    console.log('USER Desirialise', user);
    done(err, user);
  });
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
// Session
app.use(require('express-session')({
    secret: 'keyboard cat',
    resave: false,
    saveUninitialized: false
}));

app.use(passport.initialize());
app.use(passport.session());



//=====================LOGIN==================================
app.use('/', require('./routes/userRouters'));
const router = require('express').Router();
const jwt = require('jsonwebtoken');
const passport = require('passport');

const User = require('../models/user');

router.post('/signin', passport.authenticate('local'), function (req, res, next) {
  console.log('SIGN IN');
  const { user } = req
  const token = jwt.sign({ username: user.username, email: user.email, _id: user._id }, 'RESTFULAPIs')
  console.log('REQ USER>>', req.user); // defined
  console.log('SESION', req.session.cookie); // passport defined
  res.json({
    user: {
      user: user.username,
      email: user.email,
      created: user.created
    },
    token: token
  });
})

router.get('/test', function (req, res) {
console.log('============================================');
  console.log('reqUSER', req.user); //undefined
  console.log('SESION', req.session.cookie); // passport undefined 
  res.json(req.user); 
});
///////////////////////////////////////////////////
router.post('/register', function (req, res, next) {
  const { username, email, password } = req.body;

  User.register(
    new User({ username, email, password }),
    req.body.password,
    (err, account) => {
      if (err) {
        res.send({
          status: 400,
          error: err.message,
          data: {
            errorName: err.name
          }
        });

        return;
      }

      passport.authenticate('local')(req, res, function () {
        console.log('REG req.user:>>>>', req.user); // defined
        res.send({ auth: true })
      });
    });
})

router.get('/logout', function (req, res) {
  console.log('============================================');
  console.log('reqUSER', req.user); //undefined
  console.log('SESION', req.session.cookie); // passport undefined
  req.logout();
  res.json({ messageSuccessful: 'Logout successful' });
  consol.log(req.user)// null
});
 signUp(user) {
    const { cookies } = this.props;
    const date = new Date();
    date.setDate(date.getDate() + 2000)

    axios.post(`${URL}/register`, user).then((result) => {
      console.log('RESULT SIGNIN', result);

      if (result.data.error) {
        this.setState({ error: result.data.error })
      } 
        this.setState({
          message: result.data.message,
          auth: result.data.auth
        })
      }
    }
    )
  }

  signIn(user) {
    const { cookies } = this.props;
    const date = new Date();
    date.setDate(date.getDate() + 2000);
    axios.post(`${URL}/signin`, user).then((result) => {
      console.log('RESULT SIGNIN', result);
      if (result.data.error) {
        this.setState({ loginErrorMessage: result.data.error })
      } 
        this.setState({
          loginErrorMessage: '',
          modalIsOpen: false,
          auth: true
        })
      }
    }
    )
  };
axios.post(`${URL}/signin`, user).then((result) => {
//something
})
const myInit = {
      method: 'post',
      headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(user),
      mode: 'cors',
      credentials: "include",
    };

    fetch(`${URL}/signin`, myInit).then(res => res.json())
      .then(res => {
        console.log(res)
      });
请帮助,我试图更改会话的设置,但没有帮助。 我一个多星期都在努力修好


p.S.通过邮递员检查,一切正常,调用反序列化用户并请求用户定义

问题出在cors中的客户端上。我希望这对某人有帮助

不起作用:

var LocalStrategy = require('passport-local').Strategy;

const User = require('./models/user');

const app = express();

mongoose.Promise = global.Promise;

const mongoDB = 'mongodb://mlab.com:21494/tester';
mongoose.connect(mongoDB, { useMongoClient: true })
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));

app.use(function (req, res, next) {
  res.header('Access-Control-Allow-Credentials', 'true');
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
  res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept, Authorization');

  if ('OPTIONS' == req.method) {
    res.sendStatus(200);
  } else {
    next();
  }
});

app.use(logger('dev'));

app.use(compression());

//////////////////////////////////////////////////


passport.use(new LocalStrategy(
  function(username, password, done) {
    console.log('Strategy>>>>');
    User.findOne({ username: username }, function (err, user) {
      if (err) { return done(err); }
      if (!user) { return done(null, false); }
      if (!user.verifyPassword(password)) { return done(null, false); }
      return done(null, user);
    });
  }
));

passport.use(User.createStrategy());


passport.serializeUser(function (user, done) {
  console.log('SERIALIZE', user);   //called                     
  done(null, user.id);
});

passport.deserializeUser(function (id, done) {
  console.log('DESIRIALIZE'); // not called
  User.findById(id, function (err, user) {
    console.log('USER Desirialise', user);
    done(err, user);
  });
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
// Session
app.use(require('express-session')({
    secret: 'keyboard cat',
    resave: false,
    saveUninitialized: false
}));

app.use(passport.initialize());
app.use(passport.session());



//=====================LOGIN==================================
app.use('/', require('./routes/userRouters'));
const router = require('express').Router();
const jwt = require('jsonwebtoken');
const passport = require('passport');

const User = require('../models/user');

router.post('/signin', passport.authenticate('local'), function (req, res, next) {
  console.log('SIGN IN');
  const { user } = req
  const token = jwt.sign({ username: user.username, email: user.email, _id: user._id }, 'RESTFULAPIs')
  console.log('REQ USER>>', req.user); // defined
  console.log('SESION', req.session.cookie); // passport defined
  res.json({
    user: {
      user: user.username,
      email: user.email,
      created: user.created
    },
    token: token
  });
})

router.get('/test', function (req, res) {
console.log('============================================');
  console.log('reqUSER', req.user); //undefined
  console.log('SESION', req.session.cookie); // passport undefined 
  res.json(req.user); 
});
///////////////////////////////////////////////////
router.post('/register', function (req, res, next) {
  const { username, email, password } = req.body;

  User.register(
    new User({ username, email, password }),
    req.body.password,
    (err, account) => {
      if (err) {
        res.send({
          status: 400,
          error: err.message,
          data: {
            errorName: err.name
          }
        });

        return;
      }

      passport.authenticate('local')(req, res, function () {
        console.log('REG req.user:>>>>', req.user); // defined
        res.send({ auth: true })
      });
    });
})

router.get('/logout', function (req, res) {
  console.log('============================================');
  console.log('reqUSER', req.user); //undefined
  console.log('SESION', req.session.cookie); // passport undefined
  req.logout();
  res.json({ messageSuccessful: 'Logout successful' });
  consol.log(req.user)// null
});
 signUp(user) {
    const { cookies } = this.props;
    const date = new Date();
    date.setDate(date.getDate() + 2000)

    axios.post(`${URL}/register`, user).then((result) => {
      console.log('RESULT SIGNIN', result);

      if (result.data.error) {
        this.setState({ error: result.data.error })
      } 
        this.setState({
          message: result.data.message,
          auth: result.data.auth
        })
      }
    }
    )
  }

  signIn(user) {
    const { cookies } = this.props;
    const date = new Date();
    date.setDate(date.getDate() + 2000);
    axios.post(`${URL}/signin`, user).then((result) => {
      console.log('RESULT SIGNIN', result);
      if (result.data.error) {
        this.setState({ loginErrorMessage: result.data.error })
      } 
        this.setState({
          loginErrorMessage: '',
          modalIsOpen: false,
          auth: true
        })
      }
    }
    )
  };
axios.post(`${URL}/signin`, user).then((result) => {
//something
})
const myInit = {
      method: 'post',
      headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(user),
      mode: 'cors',
      credentials: "include",
    };

    fetch(`${URL}/signin`, myInit).then(res => res.json())
      .then(res => {
        console.log(res)
      });
工作:

var LocalStrategy = require('passport-local').Strategy;

const User = require('./models/user');

const app = express();

mongoose.Promise = global.Promise;

const mongoDB = 'mongodb://mlab.com:21494/tester';
mongoose.connect(mongoDB, { useMongoClient: true })
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));

app.use(function (req, res, next) {
  res.header('Access-Control-Allow-Credentials', 'true');
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
  res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept, Authorization');

  if ('OPTIONS' == req.method) {
    res.sendStatus(200);
  } else {
    next();
  }
});

app.use(logger('dev'));

app.use(compression());

//////////////////////////////////////////////////


passport.use(new LocalStrategy(
  function(username, password, done) {
    console.log('Strategy>>>>');
    User.findOne({ username: username }, function (err, user) {
      if (err) { return done(err); }
      if (!user) { return done(null, false); }
      if (!user.verifyPassword(password)) { return done(null, false); }
      return done(null, user);
    });
  }
));

passport.use(User.createStrategy());


passport.serializeUser(function (user, done) {
  console.log('SERIALIZE', user);   //called                     
  done(null, user.id);
});

passport.deserializeUser(function (id, done) {
  console.log('DESIRIALIZE'); // not called
  User.findById(id, function (err, user) {
    console.log('USER Desirialise', user);
    done(err, user);
  });
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
// Session
app.use(require('express-session')({
    secret: 'keyboard cat',
    resave: false,
    saveUninitialized: false
}));

app.use(passport.initialize());
app.use(passport.session());



//=====================LOGIN==================================
app.use('/', require('./routes/userRouters'));
const router = require('express').Router();
const jwt = require('jsonwebtoken');
const passport = require('passport');

const User = require('../models/user');

router.post('/signin', passport.authenticate('local'), function (req, res, next) {
  console.log('SIGN IN');
  const { user } = req
  const token = jwt.sign({ username: user.username, email: user.email, _id: user._id }, 'RESTFULAPIs')
  console.log('REQ USER>>', req.user); // defined
  console.log('SESION', req.session.cookie); // passport defined
  res.json({
    user: {
      user: user.username,
      email: user.email,
      created: user.created
    },
    token: token
  });
})

router.get('/test', function (req, res) {
console.log('============================================');
  console.log('reqUSER', req.user); //undefined
  console.log('SESION', req.session.cookie); // passport undefined 
  res.json(req.user); 
});
///////////////////////////////////////////////////
router.post('/register', function (req, res, next) {
  const { username, email, password } = req.body;

  User.register(
    new User({ username, email, password }),
    req.body.password,
    (err, account) => {
      if (err) {
        res.send({
          status: 400,
          error: err.message,
          data: {
            errorName: err.name
          }
        });

        return;
      }

      passport.authenticate('local')(req, res, function () {
        console.log('REG req.user:>>>>', req.user); // defined
        res.send({ auth: true })
      });
    });
})

router.get('/logout', function (req, res) {
  console.log('============================================');
  console.log('reqUSER', req.user); //undefined
  console.log('SESION', req.session.cookie); // passport undefined
  req.logout();
  res.json({ messageSuccessful: 'Logout successful' });
  consol.log(req.user)// null
});
 signUp(user) {
    const { cookies } = this.props;
    const date = new Date();
    date.setDate(date.getDate() + 2000)

    axios.post(`${URL}/register`, user).then((result) => {
      console.log('RESULT SIGNIN', result);

      if (result.data.error) {
        this.setState({ error: result.data.error })
      } 
        this.setState({
          message: result.data.message,
          auth: result.data.auth
        })
      }
    }
    )
  }

  signIn(user) {
    const { cookies } = this.props;
    const date = new Date();
    date.setDate(date.getDate() + 2000);
    axios.post(`${URL}/signin`, user).then((result) => {
      console.log('RESULT SIGNIN', result);
      if (result.data.error) {
        this.setState({ loginErrorMessage: result.data.error })
      } 
        this.setState({
          loginErrorMessage: '',
          modalIsOpen: false,
          auth: true
        })
      }
    }
    )
  };
axios.post(`${URL}/signin`, user).then((result) => {
//something
})
const myInit = {
      method: 'post',
      headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(user),
      mode: 'cors',
      credentials: "include",
    };

    fetch(`${URL}/signin`, myInit).then(res => res.json())
      .then(res => {
        console.log(res)
      });

您是否使用任何数据解析器处理post请求?@Sagar不,您到底在说什么,可能我不理解这个问题。我将代码复制到一个节点骨架项目中,所有这些似乎都正常工作。调用了反序列化。(我删除了passport.use(User.createStrategy())和压缩,因为我不需要它们)。你是如何测试你的api的?如果您使用的是CURL等工具,是否确保将登录期间创建的cookie与其他请求一起传递回?当您登录时,会创建cookie,但在以下路径上,cookie是空的登录路径:
Session{cookie:{path:'/',u expires:null,originalMaxAge:null,httpOnly:true},passport:{user:'59e4a360cc73044b4a399be'}}
其他路径:
会话{cookie:{path:'/',_expires:null,originalMaxAge:null,httpOnly:true}}
通过邮递员检查,一切都在那里工作,反序列化用户由req.user调用和定义。但是客户端不工作