2013-10-22 29 views
0

我们当前禁用了会话。Node.js/API:需要通过应用程序访问请求特定信息

相反,每个请求都与access_token一起发送,以便在请求结束时,下一个请求没有任何内容存在。

即,收到的请求 - >验证和的access_token组相关联的用户为“当前用户”


我们遇到了访问整个应用程序中使用这种能力的第一个问题。

例如,我们需要存储库中的当前用户ID

我们的解决方案是使用node.js'domain。这并没有奏效,因为当不同用户发生并发请求时,域将被覆盖 - 它被共享。

我需要的是:

  1. 全局可访问(或需要)对象可以包含 几个参数我分配给它。

  2. 这个全局可访问的对象对于每个请求都是唯一的,这样任何给定的请求都可以检索属于自己的信息。

有什么建议吗?

回答

0

最简单的方法就是将它附加到你的请求对象(如果你正在使用express,请在一些中间件中执行)。

req.access_token = 'get_the_token_and_put_it_here';

现在,访问来自世界各地,您可以访问您的请求对象。

+0

虽然我需要来自其他层的请求对象。有没有一种方法可以在不通过每个图层的情况下访问它? – Matt

+0

您无法避免通过图层传递* some *信息,无论是所有数据还是某种类型的标识符。我建议你将信息保存到一些外部存储器(例如数据库)中;或者,您可以创建一个模块,通过该模块,您可以使用某种类型的标识符(实际上就像数据存储一样)放置并获取所需的信息。请注意,如果您的节点进程死亡,则第二个选项会丢失您的信息。 –

相关问题