【问题标题】:How fix this?: if (!options.algorithms) throw new Error('algorithms should be set'); Error: algorithms should be set如何解决这个问题?: if (!options.algorithms) throw new Error('algorithms should be set');错误:应该设置算法
【发布时间】:2020-12-07 03:26:51
【问题描述】:

我正在通过 PACKT 平台 (https://github.com/PacktPublishing/Full-Stack-React-Projects-Second-Edition/tree/master/Chapter03%20and%2004/mern-skeleton) 了解 MERN,但我无法运行代码,因为我发现了下一个错误:

if (!options.algorithms) throw new Error('algorithms should be set');
        
Error: algorithms should be set
    at module.exports (/home/npalaciosv/Documents/Full Stack React Projects/Mern_Projects/Chapter3/node_modules/express-jwt/lib/index.js:22:34)
    at Module.eval (webpack:///./server/controllers/auth.controller.js?:65:73)
    at eval (webpack:///./server/controllers/auth.controller.js?:111:30)
    at Module../server/controllers/auth.controller.js (/home/npalaciosv/Documents/Full Stack React Projects/Mern_Projects/Chapter3/dist/server.generated.js:312:1)
    at __webpack_require__ (/home/npalaciosv/Documents/Full Stack React Projects/Mern_Projects/Chapter3/dist/server.generated.js:21:30)
    at Module.eval (webpack:///./server/routes/user.routes.js?:5:86)
    at eval (webpack:///./server/routes/user.routes.js?:43:30)
    at Module../server/routes/user.routes.js (/home/npalaciosv/Documents/Full Stack React Projects/Mern_Projects/Chapter3/dist/server.generated.js:396:1)
    at __webpack_require__ (/home/npalaciosv/Documents/Full Stack React Projects/Mern_Projects/Chapter3/dist/server.generated.js:21:30)
    at Module.eval (webpack:///./server/express.js?:17:77)
    at eval (webpack:///./server/express.js?:133:30)
    at Module../server/express.js (/home/npalaciosv/Documents/Full Stack React Projects/Mern_Projects/Chapter3/dist/server.generated.js:348:1)
    at __webpack_require__ (/home/npalaciosv/Documents/Full Stack React Projects/Mern_Projects/Chapter3/dist/server.generated.js:21:30)
    at eval (webpack:///./server/server.js?:3:66)
    at Module../server/server.js (/home/npalaciosv/Documents/Full Stack React Projects/Mern_Projects/Chapter3/dist/server.generated.js:408:1)
    at __webpack_require__ (/home/npalaciosv/Documents/Full Stack React Projects/Mern_Projects/Chapter3/dist/server.generated.js:21:30)

[nodemon] app crashed - waiting for file changes before starting... 

我已在其他类似出版物中阅读过有关此主题的信息,并发现解决方案是修复此代码:

expressJwt({ secret:  process.env.JWT_SECRET, algorithms: ['RS256'] }) 

@Tugay İlik 回复

但我不知道,确切地说,我必须在哪里添加此代码?

【问题讨论】:

    标签: node.js algorithm express-jwt


    【解决方案1】:

    事实是,使用您在此处放置的代码,任何人都很难帮助您找到修复代码的确切位置。

    但是,就在“错误:应该设置算法”之前,您会看到如下内容:“C:\Users\personsName\Desktop\folderName\subFolderName\fileName.js:65” 您需要注意的是 subFolderName => fileName.js;然后 ":65" 显示错误来自的行或最近的行(注意它不能是如上所示的第 65 行,我只是用它来说明)。

    同样,它通常位于您应该注意的“auth.js”文件之一中。

    事实上,您可能遇到该错误的原因是您的代码中需要算法参数,并且默认算法是 HS256。

    所以你应该粘贴的代码是:

    expressJwt({ secret:  process.env.JWT_SECRET, algorithms: ['HS256'] }) 
    

    【讨论】:

    • 非常感谢!!!但是代码必须粘贴在哪个文件中?文件的链接是这样的:(github.com/PacktPublishing/…)。我真的希望你能帮助我!!!
    【解决方案2】:

    我已经检查了你的文件。请转到“服务器”文件夹,=>“控制器”文件夹=>“auth.controller.js”文件;然后向下滚动,从第 55-58 行,你会看到"

    const requireSignin = expressJwt({
      secret: config.jwtSecret,
      userProperty: 'auth'
    })
    

    改变它:

    const requireSignin = expressJwt({
      secret: config.jwtSecret,
      userProperty: 'auth',
      algorithms: ['HS256'],
    });
    

    请让我知道它是否有效。一切顺利。

    【讨论】:

      猜你喜欢
      • 2020-10-21
      • 1970-01-01
      • 2013-11-23
      • 2021-07-01
      • 1970-01-01
      • 2019-03-25
      • 2011-03-20
      • 2022-06-13
      • 1970-01-01
      相关资源
      最近更新 更多