繁体   English   中英

在Node.js中将配置文件用于JWT机密

[英]Using a config file for JWT secret in Node.js

我正在学习Node.js,在实现JWT的同时,我想放置一个单独的config.js文件来设置生成和验证令牌的机密,但是我对此遇到了麻烦。

首先,我创建配置文件,如下所示:

// JWT config
module.exports.jwt_secret = 'mysecret';

然后,我在API端点处要求它为:

const jwt_secret = require('../../../../../config');

最后,我尝试如下使用它:

jwt.verify(token, (jwt_secret), function(err, decoded) { ... }

但这是行不通的,因此我尝试使用jwt_secret进行console.log,然后得到以下信息:

{ jwt_secret: 'mysecret' }

我检查了代码,然后在Stack Overflow上进行了搜索,但看不到如何解决这个问题。 我知道这可能很明显,但是正如我所说的,我在编程方面还很新,正在学习。

先感谢您。

快速浏览一下node-jsonwebtoken api, verify似乎期望将字符串作为第二个参数。 设置导出和要求的方式意味着变量jwt_secret是配置模块中的整个导出对象,而不是字符串。 尝试将其更改为

jwt.verify(token, jwt_secret.jwt_secret, function(err, decoded) { ... }

如果可行,您可能需要将require语句修改为类似

const config = require('some/path/config');

然后使用config.jwt_secret作为参数。 不过,这只是样式,请为您的项目做些什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM