我们的当前情况:
我们有一个内部网络应用程序,该应用程序是我使用express.js构建的,用于存储和分析dna。我们还有一个第三方应用程序,用于存储与实验有关的信息。由于此第三方应用程序也可以存储dna,因此我的应用程序中具有一个功能,可以手动导出dna信息,然后可以将该信息上传到该第三方软件。今天,我收到了第3方应用程序的api密钥,当同事将dna输入我的应用程序时,我想更新它的dna库。
我们要做什么:
第三方应用程序的api给我一个jwt令牌,然后我可以用它在邮递员中发出请求,并且必须在其到期时定期进行更新。如果我在应用程序的所有服务器端进行此操作,那么如何存储jwt访问令牌,因为它将用于服务器发出的每个请求?有没有办法建立全球速递会议?
答案 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')