在Node.js应用程序和Rails应用程序之间共享会话

时间:2010-07-08 15:27:45

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

我在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会话

有任何想法/建议吗?

1 个答案:

答案 0 :(得分:3)

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

我不知道Node.js会话管理的内部,但我想它应该能够加载一个db-backed rails会话存储。