【问题标题】:Can two NodeJs apps on the same server and with the same cookie encryption keys share cookies?同一服务器上的两个 NodeJs 应用程序是否可以使用相同的 cookie 加密密钥共享 cookie?
【发布时间】:2018-08-23 16:03:30
【问题描述】:

我在一个应用程序套件中有两个 Web 应用程序,它们都在同一台服务器上运行 NodeJ。我希望用户登录一个并自动登录另一个。我知道我可以发送一个包含所有必要数据的 GET 请求,但我宁愿自动同步 cookie。如果我使用 express-session 在两个应用程序上为 cookie 提供相同的密钥,它们可以共享 cookie 吗?如果没有,将 cookie 从一个站点传输到另一个站点的最佳和最安全的方法是什么?

【问题讨论】:

    标签: node.js express cookies server express-session


    【解决方案1】:

    来自浏览器的 Cookie 与域相关联,而不是与端口相关联。因此,同一域上的多个服务器,但不同的端口会自动从浏览器接收相同的 cookie,而无需您做任何事情,只要 cookie 不限于特定路径。

    如果需要,您还可以将 cookie 配置为与子域共享,这样即使子域上的不同主机也可以共享 cookie。

    我希望用户登录其中一个并自动登录另一个。

    两台服务器都将看到相同的 cookie,因此如果您的登录机制在另一台服务器上识别出来自一台服务器的 cookie,那么它应该都能正常工作。

    如果我在两个应用程序上使用 express-session 为 cookie 提供相同的密钥,它们可以共享 cookie 吗?

    两个单独的 node.js 应用程序将有两个单独的 express-session 实例。您必须将会话数据存储在一个通用的共享数据库中,以便两个单独的服务器能够访问相同的会话数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 2011-01-10
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多