Javascript 在Node.js中使用JWT secret的配置文件
我正在学习Node.js,在实现JWT时,我想放一个单独的config.js文件来设置生成和验证令牌的秘密,但我在这方面遇到了麻烦 首先,我创建配置文件,如下所示:Javascript 在Node.js中使用JWT secret的配置文件,javascript,node.js,variables,jwt,Javascript,Node.js,Variables,Jwt,我正在学习Node.js,在实现JWT时,我想放一个单独的config.js文件来设置生成和验证令牌的秘密,但我在这方面遇到了麻烦 首先,我创建配置文件,如下所示: // JWT config module.exports.jwt_secret = 'mysecret'; 然后我在API端点处需要它,如下所示: const jwt_secret = require('../../../../../config'); 最后,我尝试如下使用它: jwt.verify(token, (jwt_se
// JWT config
module.exports.jwt_secret = 'mysecret';
然后我在API端点处需要它,如下所示:
const jwt_secret = require('../../../../../config');
最后,我尝试如下使用它:
jwt.verify(token, (jwt_secret), function(err, decoded) { ... }
但它不起作用,所以我尝试了一个带有jwt_秘密的console.log,我得到了以下结果:
{ jwt_secret: 'mysecret' }
我检查了代码并在堆栈溢出处进行了搜索,但我不知道如何解决这个问题。我知道这可能是很明显的,但正如我所说的,我对编程非常陌生,我正在学习
提前感谢。快速查看一下
节点jsonwebtoken
api,验证
似乎期望字符串作为第二个参数。设置导出和请求的方式意味着变量jwt_secret
是配置模块中的整个导出对象,而不是字符串。试着把它改成
jwt.verify(令牌,jwt_secret.jwt_secret,函数(err,解码){…}
如果这样做有效,您可能需要将require语句修改为
const config=require('some/path/config');
然后使用
config.jwt_secret
作为参数。不过,这只是一种风格,做适合您项目的事情。快速查看节点jsonwebtoken
api,verify
似乎期望字符串作为第二个参数。设置导出和要求的方式意味着变量jwt_secret
是配置模块中的整个exports对象,而不是字符串。请尝试将其更改为
jwt.verify(令牌,jwt_secret.jwt_secret,函数(err,解码){…}
如果这样做有效,您可能需要将require语句修改为
const config=require('some/path/config');
然后使用
config.jwt_secret
作为参数。不过,这只是一种风格,为您的项目做一些工作。预期的行为是什么或有什么问题?似乎您jwt_secret
是在需要配置文件时定义的。预期的行为是什么或有什么问题?似乎您jwt_secret
是定义的当需要配置文件时。谢谢!效果很好,我添加了你评论的样式。谢谢!效果很好,我添加了你评论的样式。