【问题标题】:Sharing a session between Node.js app and Rails app在 Node.js 应用程序和 Rails 应用程序之间共享会话
【发布时间】:2011-03-13 10:12:27
【问题描述】:

我正在 Heroku 上运行 Rails 应用程序,我正在尝试将所有内联 Twitter 请求(即 oauth 身份验证)移植到 Node.js 应用程序,因为当 Twitter 很慢时,由于 Ruby 服务器阻塞, Twitter 请求阻塞了我的应用程序。 (我的平均请求大约需要 50 毫秒,但我的平均 Twitter Oauth 请求大约需要 1500 毫秒!)

node.js 应用和 rails 应用可以访问同一个数据库。

不过,我想不通的是如何使用 node.js 启动会话,然后在 rails 应用程序中使用该会话。现在我正在使用默认的 Rails cookie 会话存储。

我希望它能够像...

1) 用户到达登陆页面http://railsapp.com

2) 用户使用http://nodeapp.com/loginhttp://nodeapplogin.railsapp.com 发起登录

3) 用户使用 node.js 进行 twitter oauth 舞蹈

4) 成功登录后,用户将被重定向到 http://railsapp.com/dashboard,并带有可在整个 rails 应用程序中使用的活动 rails 会话

有什么想法/建议吗?

【问题讨论】:

  • 也许是一些带有发布/订阅功能的内存数据库?

标签: javascript ruby-on-rails session heroku node.js


【解决方案1】:

您将需要基于 cookie 的会话密钥存储,将全局 cookie 域设置为您的顶级“railsapp.com”,以 Node.js 和 Rails 都可以访问的方式共享您的会话存储。

我不知道 Node.js 会话管理的内部结构,但我想它应该能够加载由 db 支持的 Rails 会话存储。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-15
    • 2018-08-29
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 2012-02-26
    相关资源
    最近更新 更多