• 1400/02/30

valid کردن token :

سلام و عرض ادب 

خسته نباشید 

استاد من یه جالش برای خودم درست کردم که یک اپ موبایل ( 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 تدریس میکنید ؟

با تشکر  

 

  • 1400/03/01
  • ساعت 17:22

سلام دوست من

در کد که مشکلی نیست

دوباره jwt رو نصب کن

بله تدریس میشه


logo-samandehi