[英]nodejs module.exports returns undefined for JSON web token
我在獲取解碼令牌的 console.log 時遇到了一些問題。 它給了我不確定的。
const jwt = require("jsonwebtoken");
module.exports = (req, res, next) => {
try {
const token = req.headers.authorization.split(" ")[1];
const decodedToken = jwt.verify(token, "secret_this_should_be_longer");
let details = (req.userData = {
email: decodedToken.email,
userId: decodedToken.userId,
});
console.log(details.email, details.userId);
next();
} catch (err) {
res.status(401).json({ message: "Auth failed!" });
}
};
nodejs module.exports 返回未定義的 JSON web 令牌
是的,你的module.exports
function 沒有返回值,所以返回值自然是undefined
。 這是意料之中的。
您從令牌中獲得的數據是 nn req.userData
然后您調用next()
繼續路由到其他請求處理程序,以便其他請求處理程序應該訪問req.userData
上的解碼令牌數據。
僅供參考,這段代碼很容易被誤讀:
let details = (req.userData = {
email: decodedToken.email,
userId: decodedToken.userId,
});
console.log(details.email, details.userId);
我現在明白了它的作用,但我最初幾次掃視它時並沒有。 這樣會更清楚:
req.userData = {
email: decodedToken.email,
userId: decodedToken.userId,
};
console.log(req.userData);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.