- 适用于 Android 的 React Native V 0.56
- 仅限 Rails 5.1.3 API
我的 Rails 应用程序能够保留 session ,但在将 React Native 升级到 0.56 后,Rails 突然在每次 api 请求时创建一个新 session 。
无法理解为什么 session 每次都会重置。
我的 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。您的请求中没有 session cookie 可能是您的服务器每次创建新 session 的原因。
获取(网址,{
方法:'获取',
凭证:“包括”
})
这个SO question and answers可能会为问题和解决方案提供更多线索。
关于session-cookies - Rails 5 Api 仅具有 React Native 每次新 session ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51686107/