Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/480.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 当用户登录时,如何在passport.authenticate(本地)中返回用户对象?_Javascript_Node.js_Express - Fatal编程技术网

Javascript 当用户登录时,如何在passport.authenticate(本地)中返回用户对象?

Javascript 当用户登录时,如何在passport.authenticate(本地)中返回用户对象?,javascript,node.js,express,Javascript,Node.js,Express,如何在登录的authController文件中设置,以将用户对象返回给我? 我正试图通过这种方式在exports.register中的userControllerer文件中设置res.json(req.body),但这可能会在不知道用户是否登录时返回用户?我的观点是,正如在authControlleris success中一样,它将登录用户的对象返回给我 Routes/index.js const express = require('express'); const router = expr

如何在登录的
authController
文件中设置,以将用户对象返回给我? 我正试图通过这种方式在
exports.register
中的
userControllerer
文件中设置
res.json(req.body)
,但这可能会在不知道用户是否登录时返回用户?我的观点是,正如在
authController
is success中一样,它将登录用户的对象返回给我

Routes/index.js

const express = require('express');
const router = express.Router();
const userController = require('../controllers/userController');
const authController = require('../controllers/authController');

router.get('/register', userController.registerForm);
router.post('/login', authController.login);

router.post('/register', 
  userController.validateRegister,
  userController.register
  authController.login
);

module.exports = router;
const mongoose = require('mongoose');
const User = mongoose.model('User');

exports.registerForm = (req, res) => {
  res.json(req.body);
};

exports.register = async (req, res, next) => {
  const newUser = new User({ email: req.body.email, name: req.body.name })
  await User.register(newUser, req.body.password);

  next()
}
const passport = require('passport');

exports.login = passport.authenticate('local', {
     failureRedirect: '/login',
     successRedirect: '/'
})
控制器/userController.js

const express = require('express');
const router = express.Router();
const userController = require('../controllers/userController');
const authController = require('../controllers/authController');

router.get('/register', userController.registerForm);
router.post('/login', authController.login);

router.post('/register', 
  userController.validateRegister,
  userController.register
  authController.login
);

module.exports = router;
const mongoose = require('mongoose');
const User = mongoose.model('User');

exports.registerForm = (req, res) => {
  res.json(req.body);
};

exports.register = async (req, res, next) => {
  const newUser = new User({ email: req.body.email, name: req.body.name })
  await User.register(newUser, req.body.password);

  next()
}
const passport = require('passport');

exports.login = passport.authenticate('local', {
     failureRedirect: '/login',
     successRedirect: '/'
})
控制器/authController.js

const express = require('express');
const router = express.Router();
const userController = require('../controllers/userController');
const authController = require('../controllers/authController');

router.get('/register', userController.registerForm);
router.post('/login', authController.login);

router.post('/register', 
  userController.validateRegister,
  userController.register
  authController.login
);

module.exports = router;
const mongoose = require('mongoose');
const User = mongoose.model('User');

exports.registerForm = (req, res) => {
  res.json(req.body);
};

exports.register = async (req, res, next) => {
  const newUser = new User({ email: req.body.email, name: req.body.name })
  await User.register(newUser, req.body.password);

  next()
}
const passport = require('passport');

exports.login = passport.authenticate('local', {
     failureRedirect: '/login',
     successRedirect: '/'
})

使用以下实现:

Routes/index.js

router.post('/login',
  passport.authenticate('local'),
  function(req, res) {
    // If this function gets called, authentication was successful.
    // `req.user` contains the authenticated user.
    res.send(req.user);
  });