E:\xxxx\admin-imooc-node\node_modules\_express-jwt@6.1.1@express-jwt\lib\index.js:22
if (!options.algorithms) throw new Error('algorithms should be set');
^
Error: algorithms should be set
at module.exports (E:\xxxx\admin-imooc-node\node_modules\_express-jwt@6.1.1@express-jwt\lib\index.js:22:34)
at Object.<anonymous> (E:\xxxx\admin-imooc-node\router\jwt.js:4:18)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (E:\xxxx\admin-imooc-node\router\index.js:7:17)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
最近再学node,那么在安装了 express-jwt后,配置好之后出现以上的问题,这个问题是6.0.0版本之后引起的。
由版本 6.0.0 中 的更改引起的问题。文档最近也已更新,它说:
在将第三方库作为机密提供时,算法参数是防止潜在的降级攻击所必需的。
所以现在指定算法属性是强制性的,如下所示:
expressJwt({
secret: ‘secret’,
algorithms: [‘HS256’]
})
所以们要在代码中加入algorithms: [‘HS256’]
我尝试了之后:如下图
项目就运行成功啦!