在 NodeJS/ExpressJS 中访问控制器外部的令牌

Accessing token outside of controller in NodeJS/ExpressJS

我的令牌在 req.headers.authorization 可用。我想将其保存为全局变量,以便在另一个文件中,比如 model,我也可以访问它而无需将其显式传递给我的模型。

这可能吗?

由于 node/express 应用程序作为 运行 进程保留在内存中(假设您将其用作服务器),我担心将请求值分配给全局可能会导致一些严重的问题如果您正在存储授权信息,则存在安全问题。

var globalAuth;

(function() {
  [].slice.apply(arguments).forEach(function(reqAuth) {
    globalAuth = reqAuth;
    // Simulate async operation
    setTimeout(function() {
      console.log(reqAuth, globalAuth);
    }, reqAuth);
  });
})(100, 10, 50);

// outputs
//   10 50
//   50 50
//   100 50