Ruby on Rails允许本地端口之间的会话

时间:2013-11-21 12:04:33

标签: ruby-on-rails session devise localhost

基本上我正在使用RocketPants和Devise在rails中开发API,我正在使用AngularJS创建一个客户端。由于它们位于由单独人员维护的文件夹中,因此我在localhost:3000localhost:8000上的客户端运行rails api,在实时环境中,它们将位于同一顶级域的子域中。 api.example.com app.example.com

我已经允许使用Rack Cors进行跨域请求,这似乎工作正常,我可以通过将我的凭据发送到API来查询和登录(我还通过返回登录用户的id来检查是否有效) )。

然而,客户端似乎没有挂起会话,在我登录并获得确认我已成功登录后,我再次发出请求,表示current_user为Nil。

通过在session_store.rb

中使用以下内容,我允许使用rails中的子域名
AppName::Application.config.session_store :cookie_store, key: '_app-name_session', domain: :all

然而我无法测试。

有没有一种在本地端口之间共享会话的好方法?或者有一种很好的方法来模拟2个项目之间的本地测试子域(1个轨道,1个独立)?

1 个答案:

答案 0 :(得分:1)

您是否考虑过使用Pow为开发中的应用提供服务?

然后,您可以在子域上运行它们,就像在生产中一样。