存储JWT服务器端express.js

时间:2019-04-03 18:10:25

标签: node.js express jwt express-jwt

我们的当前情况:

我们有一个内部网络应用程序,该应用程序是我使用express.js构建的,用于存储和分析dna。我们还有一个第三方应用程序,用于存储与实验有关的信息。由于此第三方应用程序也可以存储dna,因此我的应用程序中具有一个功能,可以手动导出dna信息,然后可以将该信息上传到该第三方软件。今天,我收到了第3方应用程序的api密钥,当同事将dna输入我的应用程序时,我想更新它的dna库。

我们要做什么:

第三方应用程序的api给我一个jwt令牌,然后我可以用它在邮递员中发出请求,并且必须在其到期时定期进行更新。如果我在应用程序的所有服务器端进行此操作,那么如何存储jwt访问令牌,因为它将用于服务器发出的每个请求?有没有办法建立全球速递会议?

1 个答案:

答案 0 :(得分:1)

如果您仅在一个js文件中需要此令牌,您要做的就是将变量设置为该文件的开头,然后您将引用它。 (全局范围)

如果在多个文件中有两个选项:

丑陋:

您正在使用global对象,例如:global.jwt1 = '...'

您创建令牌管理器:

let tokens = {}

class Manager {
  static get(name) {
    if(!tokens[name]) 
      return null;
    return tokens[name]
  }

  static set(name, val) {
    tokens[name] = val
  }
}
module.exports = Manager;

和用法:

const jwt = require('./manager')
jwt.set('client 1', '...')
let t = jwt.get('client 1')