node.js使用express-jwt報錯:expressJWT?is?not?a?function解決
問題描述
node.js 使用 express-jwt 生成token報錯
控制臺報錯
問題原因
由于express-jwt 版本的更新,之前的語法不適用于現(xiàn)在的 新版本 ,可以看到現(xiàn)在 是 7 開頭的版本
解決辦法一
簡單粗暴,換更早版本的 express-jwt
卸載
npm uninstall express-jwt
安裝先前版本
npm i express-jwt@5.3.3
解決辦法二
因為版本問題,最新版本的 express-jwt 的話配置和獲取的部分代碼需要改動一下,最新版本需要配置algorithms算法,一般默認是HS256 ,需要修改全局使用express-jwt中間件的代碼和后面獲取 req 中信息的代碼
1.配置expressJwt中間件 const expressJWT = require('express-jwt') app.use( expressJWT.expressjwt({ secret: secretKey, algorithms: ["HS256"] }).unless({ path: [/^\/api\//], }) ); 2.獲取用戶信息時,要使用 req.auth app.get("/admin/getinfo", (req, res) => { // 配置了express-jwt中間件后可在有權限的接口獲取用戶信息 res.send({ status: 0, msg: "success", data: { username: req.auth.username, }, }); });
問題解決
在上面的代碼修改完畢后,重新執(zhí)行命令,可以看到服務器成功跑起來了
總結
到此這篇關于node.js使用express-jwt報錯:expressJWT is not a function解決的文章就介紹到這了,更多相關nodejs使用express-jwt報錯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Node.js v8.0.0正式發(fā)布!看看帶來了哪些主要新特性
Node.js v8.0.0 已正式發(fā)布。v8.0.0 是下一個主要的版本,帶來了一系列重大的變化和新功能,內容十分多!下面這篇文章主要帶著大家一起看看Node.js v8.0.0帶來了哪些主要新特性,需要的朋友可以參考借鑒,下面來一起看看吧。2017-06-06nodejs根據(jù)ip數(shù)組在百度地圖中進行定位
本文主要介紹了nodejs根據(jù)ip數(shù)組在百度地圖中進行定位的方法,具有很好的參考價值。下面跟著小編一起來看下吧2017-03-03