سلام و عرض ادب
خسته نباشید
استاد من یه جالش برای خودم درست کردم که یک اپ موبایل ( flutter ) پنل مدیریت ( react ) پیاده سازی کنم و از node به عنوان زبان بک اند استفاده کردم
در بخشی که اعتبار سنجی token انجام میشد خطای
JsonWebTokenError: jwt must be provided
at Object.module.exports [as verify] (E:\peroject\node\flutter\node_modules\jsonwebtoken\verify.js:53:17)
at exports.isAuth (E:\peroject\node\flutter\middlewares\isAuth.js:13:24)
at Layer.handle [as handle_request] (E:\peroject\node\flutter\node_modules\express\lib\router\layer.js:95:5)
at next (E:\peroject\node\flutter\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (E:\peroject\node\flutter\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (E:\peroject\node\flutter\node_modules\express\lib\router\layer.js:95:5)
at E:\peroject\node\flutter\node_modules\express\lib\router\index.js:281:22
at param (E:\peroject\node\flutter\node_modules\express\lib\router\index.js:354:14)
at param (E:\peroject\node\flutter\node_modules\express\lib\router\index.js:365:14)
at Function.process_params (E:\peroject\node\flutter\node_modules\express\lib\router\index.js:410:3)
at next (E:\peroject\node\flutter\node_modules\express\lib\router\index.js:275:10)
at Function.handle (E:\peroject\node\flutter\node_modules\express\lib\router\index.js:174:3)
at router (E:\peroject\node\flutter\node_modules\express\lib\router\index.js:47:12)
at Layer.handle [as handle_request] (E:\peroject\node\flutter\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (E:\peroject\node\flutter\node_modules\express\lib\router\index.js:317:13)
at E:\peroject\node\flutter\node_modules\express\lib\router\index.js:284:7
به این شکل اعتبار سنجی token انجام دادم
const jwt = require('jsonwebtoken');
exports.isAuth = (req, res, next) => {
const authHeader = req.get('Authorization');
if (!authHeader) {
const error = new Error('Not authenticated.');
error.statusCode = 401;
throw error;
}
const token = authHeader.split(' ')[1];
let decodedToken;
try {
decodedToken = jwt.verify(token, process.env.JWT_SECRET);
} catch (err) {
err.statusCode = 500;
throw err;
}
if (!decodedToken) {
const error = new Error('Not authenticated.');
error.statusCode = 401;
throw error;
}
req.userId = decodedToken.userId;
next();
};
استاد اگر ممکن هست لطفا بفرمایید خطا برای چی داده شده ؟
استاد آیا در دوره socket.io تدریس میکنید ؟
با تشکر
سلام دوست من
در کد که مشکلی نیست
دوباره jwt رو نصب کن
بله تدریس میشه