【问题标题】:Node.js / API: Need to access request specific information through the applicationNode.js / API:需要通过应用访问请求具体信息
【发布时间】:2013-10-31 23:56:27
【问题描述】:

我们目前禁用了会话。

相反,每个请求都使用access_token 发送,因此在请求结束时,下一个请求不会保留任何内容。

即。收到请求 --> 验证 access_token 并将关联用户设置为“当前用户”


我们遇到的第一个问题是在整个应用程序中访问此使用的能力。

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

我们的解决方案是使用 node.js'domain。这样做效果并不好,因为当来自不同用户的并发请求发生时,域将被覆盖——它是共享的。

我需要的是:

  1. 一个可全局访问(或通过要求)的对象,它可以包含一个 我分配给它的几个参数。

  2. 这个可全局访问的对象对于每个请求都是唯一的,因此任何给定的请求都可以检索与自身相关的信息。

有什么建议吗?

【问题讨论】:

    标签: node.js api session oauth-2.0 access-token


    【解决方案1】:

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

    req.access_token = 'get_the_token_and_put_it_here';

    现在可以从任何可以访问请求对象的地方访问它。

    【讨论】:

    • 我需要其他层的请求对象。有没有办法在不通过每一层的情况下访问它?
    • 您无法避免通过层向下传递一些信息,无论是所有数据还是某种类型的标识符。我建议您将信息保存到一些外部存储(例如数据库);或者,您可以创建一个模块,您可以使用某种类型的标识符从中放置和获取所需的信息(本质上就像数据存储一样)。请注意,如果您的节点进程死亡,则使用第二个选项会丢失您的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 2023-01-31
    • 2023-03-11
    • 1970-01-01
    • 2011-12-28
    • 2011-06-02
    相关资源
    最近更新 更多