Rails 5 Api 每次仅使用 React Native 新会话 ID

Rails 5 Api Only with React Native New Session Id Each Time

我的 Rails 应用程序能够保持会话,但是在将 React Native 升级到 0.56 后突然 Rails 每次 api 请求都会创建一个新会话。

无法理解为什么会话每次都被重置。

我的application.rb看起来像这样

module AppService
    class Application < Rails::Application
        config.load_defaults 5.1
        config.middleware.use ActionDispatch::Flash
        config.middleware.use Rack::MethodOverride
        config.middleware.use ActionDispatch::Cookies

        config.api_only = true
        config.middleware.use ActionDispatch::Session::CookieStore, key: '_namespace_key'
    end
end

有人可以指出可能是什么问题吗? 我该如何调试?

更新 深入挖掘我发现了这个 https://github.com/facebook/react-native/pull/19770

这似乎是 RN 0.56 的错误。有人可以建议如何解决这个问题吗?

我遇到了一个非常相似的问题,问题是,作为 React Native V 0.56 升级的一部分,我还必须将我的 nodejs 版本升级到 8。在 node8 中(甚至可能在以前的版本中)fetch() 需要 credentials: 'include' 选项来发送带有请求的 cookie。您的请求中没有会话 cookie 可能是您的服务器每次都创建新会话的原因。

fetch(url, { method: 'GET', credentials: 'include' })

可能会更清楚地说明问题和解决方案。