gpt4 book ai didi

ruby-on-rails - Rails - 如何跨子域删除重复的 cookie?

转载 作者:行者123 更新时间:2023-12-02 03:08:17 25 4
gpt4 key购买 nike

因为我想在我的网站上开始支持跨子域登录。所以我改变了我的 session 存储配置

MyApp::Application.config.session_store :cookie_store,
key: '_my_app_session'

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

在那之后,用户得到了 2 个与下面列表同名的 cookie,这导致用户可能被注销。我正在使用 Devise,它只会删除 .local.host 下的 _my_app_session。因此用户保持登录状态。

Name                Value           Domain
_my_app_session abc www.local.host
_my_app_session xyz .local.host

如何删除这两个 cookie?

最佳答案

刚发现是 sidekiq/web 导致了我们。

我们的应用程序在子域上运行,我们将 session 配置为在所有子域之间共享,因此为 .domain.com 创建了 cookie。但是每次我访问 /sidekiq 时,都会为 sub.domain.com 创建一个新 session 。

要在 routes.rb 中解决这个问题,我必须这样做:

Sidekiq::Web.set :sessions, { domain: ".domain.com" }
mount Sidekiq::Web => '/sidekiq'

关于ruby-on-rails - Rails - 如何跨子域删除重复的 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41311019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com