小编Ton*_*nes的帖子

Node Express Passport (JWT) - 认证后回调

我使用护照 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)

javascript node.js express jwt passport.js

3
推荐指数
1
解决办法
3006
查看次数

标签 统计

express ×1

javascript ×1

jwt ×1

node.js ×1

passport.js ×1