首页 > 解决方案 > rails session store 使用错误的域设置 cookie

问题描述

我们正在使用带有设计的 Rails 来提供用户身份验证。最近我们将 session_store 配置中 cookie_store 的域更改为 .example.com。一切都按预期工作,cookie 已正确创建。

现在,在极少数情况下,我们会获得域 subdomain.example.com 的会话 cookie。这与带有错误域的 rack.session cookie 一起发生。

因为我们无法解释为什么有时 cookie 具有完整的域,所以我们怀疑它与 rack.session cookie 有关。我们找不到 rack.session cookie 的设置时间。我通过设计登录并没有设置 rack.session cookie。

在错误的域下设置会话 cookie 是否有人遇到同样的错误?了解在哪些情况下设置 rack.session cookie 会很有帮助。

标签: ruby-on-railsdevisewarden

解决方案


似乎是 sidekiq-ui 引起了这个问题。访问 ui rack.session 和会话 cookie 时设置了错误的域。

这可以通过 config/initializers/sidekiq.rb 中的以下配置来解决

Sidekiq::Web.set :sessions, domain: 'all'


推荐阅读