存储 JWT 服务器端 express.js

Storing JWT server side express.js

我们目前的情况:

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

我们想要做什么:

第 3 方应用程序的 api 递给我一个 jwt 令牌,然后我可以使用它在邮递员中发出请求,并且必须在它过期时定期更新。如果我在我的应用程序的所有服务器端都这样做,我该如何存储 jwt 访问令牌,因为这将用于服务器发出的每个请求?有没有办法在 express 中建立全局会话?

如果你只在一个js文件中需要这个token,你所要做的就是将变量设置到这个文件的开头,你会引用它。 (全球范围)

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

丑:

您正在使用 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')