【问题标题】:Rails 6 cookies are not being updated in devlopment (only firefox and Chrome)Rails 6 cookie 没有在 devlopment 中更新(只有 firefox 和 Chrome)
【发布时间】:2020-06-15 19:08:49
【问题描述】:

我目前在 Rails 6 应用程序中设置 cookie 时遇到很多问题。 这仅在通过 localhost 访问时在开发中发生。通过 ngrok 隧道,它在没有问题的情况下工作。

还有其他人有这个问题吗? (我已经从 v80 降级了 chrome)但由于它在 Firefox 中也不起作用,我不确定发生了什么。

在 Safari cookie(以及会话)中设置没有问题。我开始认为这可能与 sameSite 政策有关。

Alos 没有使用 API 模式什么的。

【问题讨论】:

    标签: ruby-on-rails ruby cookies session-cookies csrf


    【解决方案1】:

    所以它与 Shopify_app gem 相关! https://github.com/Shopify/shopify_app/issues/891

    【讨论】:

      【解决方案2】:

      ActionDispatch 在 6.1 版中为 SameSite 设置添加了一个配置选项(文档 here)。

      如果您在 config/application.rb 中设置了这样的设置:

      config.action_dispatch.cookies_same_site_protection = :none
      

      您的会话将不再在开发中工作。这是因为 Chrome 期望 SameSite=None cookie 也被标记为安全的。

      为了让您的会话在 Chrome 中的开发过程中正常工作,您需要在 config/environments/development.rb 中将相同的配置选项设置为 :lax

      config.action_dispatch.cookies_same_site_protection = :lax
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-02-04
        • 1970-01-01
        • 2015-12-22
        • 2012-12-17
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多