因为我想在我的网站上开始支持跨子域登录。所以我从
更改了会话存储配置MyApp::Application.config.session_store :cookie_store,
key: '_my_app_session',
domain: '.local.host', # I'm using *.local.host for 127.0.0.1
tld_length: 2
到
_my_app_session
之后,使用了2个与下面列表同名的cookie,导致用户可以注销。我使用的是Devise,它只会删除.local.host
下的Name Value Domain
_my_app_session abc www.local.host
_my_app_session xyz .local.host
。所以用户保持登录状态。
master
如何删除这两个Cookie?
答案 0 :(得分:0)
刚刚发现sidekiq/web
对我们造成了这种情况。
我们的应用程序在子域上运行,我们将会话配置为在所有子域之间共享,以便为.domain.com
创建Cookie。但每次访问/sidekiq
时,都会为sub.domain.com
创建一个新会话。
要在routes.rb中修复此问题,我必须这样做:
Sidekiq::Web.set :sessions, { domain: ".domain.com" }
mount Sidekiq::Web => '/sidekiq'