存储在NodeJS应用程序中生成JWT的秘密的最佳实践

时间:2015-06-19 16:09:57

标签: node.js express jwt express-jwt

我正在使用JWT来验证SPA上的用户(NodeJS后端,Angular前端)。我在用户模型中有一个函数,用于在用户登录时生成JWT:

// ./models/user.js - with Waterline as ORM

var Waterline = require('Waterline');
var bcrypt = require('bcrypt');
var jwt = require('jsonwebtoken');

// [...]

generateJWT: function() {
  // set expiration to 60 days
  var today = new Date();
  var exp = new Date(today);
  exp.setDate(today.getDate() + 60);

  return jwt.sign({
    _id: this.id,
    username: this.username,
    exp: parseInt(exp.getTime() / 1000),
  }, 'SECRET'); // TODO: Real secret
}

// [...]

这个'秘密'不应该是硬编码的。它不应该在代码库或我的仓库中。那么处理这个问题的最佳/最安全的方法是什么?部署时符号链接的共享文件夹中的配置文件?数据库?

0 个答案:

没有答案