基本上我正在使用RocketPants和Devise在rails中开发API,我正在使用AngularJS创建一个客户端。由于它们位于由单独人员维护的文件夹中,因此我在localhost:3000
和localhost:8000
上的客户端运行rails api,在实时环境中,它们将位于同一顶级域的子域中。 api.example.com
app.example.com
。
我已经允许使用Rack Cors进行跨域请求,这似乎工作正常,我可以通过将我的凭据发送到API来查询和登录(我还通过返回登录用户的id来检查是否有效) )。
然而,客户端似乎没有挂起会话,在我登录并获得确认我已成功登录后,我再次发出请求,表示current_user
为Nil。
通过在session_store.rb
AppName::Application.config.session_store :cookie_store, key: '_app-name_session', domain: :all
然而我无法测试。
有没有一种在本地端口之间共享会话的好方法?或者有一种很好的方法来模拟2个项目之间的本地测试子域(1个轨道,1个独立)?