Javascript passport jwt错误401(未经授权)如何解决?

Javascript passport jwt错误401(未经授权)如何解决?,javascript,node.js,passport.js,Javascript,Node.js,Passport.js,我用的是jwt护照 当我试图表演的时候 router.post('/auth', passport.authenticate('jwt', { session: false }), async (req, res, next) 发生此错误 POST http://localhost:8001/user/auth 401 (Unauthorized) 这是我的密码 (backend/user.js) (passport/index.js) 如果控制台被登录,我就签入p

我用的是jwt护照

当我试图表演的时候

       router.post('/auth', passport.authenticate('jwt', { session: false }), async (req, res, next)
发生此错误

      POST http://localhost:8001/user/auth 401 (Unauthorized)
这是我的密码

(backend/user.js)

(passport/index.js)

如果控制台被登录,我就签入passport/index.js, 它是console.log(“-----------------------------------------------”) 但是控制台没有被记录

我不知道发生了什么事


如何修复我的代码?

您是否在发送post请求时发送了有效的jwt?如果是这样的话,您是否使用正确的标题发送?
             router.post('/auth', passport.authenticate('jwt', { session: false }), async (req, res, next) => {
                try {
            
                res.json({ result: true });
                } catch (error) {
                console.error(error);
                next(error);
                }
            });
            const passport = require('passport');
            const { Strategy: LocalStrategy } = require('passport-local');
            const { ExtractJwt, Strategy: JWTStrategy } = require('passport-jwt');
            const bcrypt = require('bcrypt');

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

            const passportConfig = { usernameField: 'email', passwordField: 'password' };

            const passportVerify = async (email, password, done) => {
            try {
                // console.log("email:::::::::::::::::",email);
                const user = await User.findOne({ where: {email} });
                if (!user) {
                done(null, false, { message: '존재하지 않는 사용자 입니다.' });
                return;
                }

                const compareResult = await bcrypt.compare(password, user.password);

                if (compareResult) {
                done(null, user);
                return;
                }

                done(null, false, { reason: '올바르지 않은 비밀번호 입니다.' });
            } catch (error) {
                console.error(error);
                done(error);
            }
            };

            const JWTConfig = {
            jwtFromRequest: ExtractJwt.fromHeader('authorization'),
            secretOrKey: 'jwt-secret-key',
            };

            const JWTVerify = async (jwtPayload, done) => {
            try {
                    // payload의 id값으로 유저의 데이터 조회
                console.log("-----------------------------------------")
                const user = await User.findOne({ where: { id: jwtPayload.id } });
                    // 유저 데이터가 있다면 유저 데이터 객체 전송
                if (user) {
                done(null, user);
                return;
                }
                    // 유저 데이터가 없을 경우 에러 표시
                done(null, false, { reason: '올바르지 않은 인증정보 입니다.' });
            } catch (error) {
                console.error(error);
                done(error);
            }
            };

            module.exports = () => {
            passport.use('local', new LocalStrategy(passportConfig, passportVerify));
            passport.use('jwt', new JWTStrategy(JWTConfig, JWTVerify));
            };