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);
});