我使用护照 JWT 进行身份验证,但只有在用户通过身份验证时才能运行回调函数/响应。如何才能做到这一点?
在我的路线中:
import express from 'express';
import passport from '../../config/passport';
import memberInfoCtrl from '../controllers/memberInfo';
const router = express.Router();
router.route('/members')
.get(membersCtrl.tokenCheck, passport.authenticate('jwt', { session: false }), membersCtrl.doSomethingElse);
export default router;
Run Code Online (Sandbox Code Playgroud)
membersCtrl.doSomethingElse如果身份验证成功,我想运行。
这是我的 tokenCheck 函数:
function tokenCheck(req, res, next) {
const token = getToken(req.headers);
if (token) {
const decoded = jwt.decode(token, config.secret);
User.findOne({
email: decoded.email
}, (err, user) => {
if (err) throw err;
if (!user) {
return res.status(403).send({
success: false, msg: 'Authentication failed. User …Run Code Online (Sandbox Code Playgroud)