【发布时间】:2016-10-12 21:39:33
【问题描述】:
我有一个使用 Devise 进行身份验证的 Rails 应用程序。我通过通常的 Rails 视图进行身份验证,并且大多数应用程序都是使用通常的 Rails ActionView 页面完成的。
我的应用程序的一个页面包含一个 React 应用程序,该应用程序通过 XHR 和 isomorphic-fetch 库请求数据。我一直在 Safari 中开发它,效果很好,但在 Chrome 或 Firefox 中,当我尝试 XHR 获取时,我会收到 HTTP 401 消息。
似乎不同之处在于,在 Safari 上我得到一个设置会话 cookie 的“Set-Cookie”响应标头,而在 Chrome 中我没有。
这是我尝试过的:
* 将X-CSRF-Token 添加到我的 AJAX 获取请求中
* 将config.http_authenticatable_on_xhr设置为true并设置config.navigational_format = [:html, :json]
这是一个新的 Rails 5 应用程序。我有一个类似的 Rails 4 应用程序,XHR 可以正常工作。如何让我的 XHR 在这里工作?
【问题讨论】:
-
您是否检查了不同浏览器的提交标头?也许缺少什么。
标签: ruby-on-rails devise