2

当我尝试将 RAILS 应用程序作为我的 API 的后端核心时,我遇到了这种情况。我正在使用“设计”来验证用户身份,这是通过放置会话 cookie 来实现的。这是迄今为止完美的。并考虑到我正在“api.mydomain.com”上构建它

现在,我还有一个在“mydomain.com”上运行的 javascript 应用程序,它对子域上的 API 进行 AJAX 调用。当我进行 API 调用时,我需要让 rails-issued cookie 有效并继续标题......它只是没有。

我尝试了我在谷歌上找到的每一个解决方案,看起来就像把这个

Api::Application.config.session_store :cookie_store, key: '_api_session', :domain => ".mydomain.com"

进入我的 config/initializers/session_store.rb 是默认答案。这对我不起作用。我还在谷歌上找到了一些其他建议,我应该把它放在环境文件中。这对我也不起作用。

帮助将不胜感激。

请注意:如果这很重要,我正在运行 rails 3.2.11。

4

2 回答 2

3

尝试使用该:domain => :all选项。

来源:Railsapps 子域教程(搜索“可选:允许跨子域共享会话”)

于 2013-02-18T13:18:02.733 回答
0

我发现有更好的方法来做到这一点:

:domain => "*.domain.com" 
于 2016-08-05T15:11:11.360 回答