You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firefox扩展无法获取Ruby on Rails开发站点Cookies求助

解决Firefox扩展无法获取本地Rails站点Cookie的问题

核心原因

Rails开发环境默认将Cookie绑定到localhost域名,而你在扩展中使用127.0.0.1:3000作为目标URL,两者属于不同域名,导致扩展无法匹配到对应的Cookie。

解决方案

方案1:统一扩展和Rails的访问域名

修改扩展代码和配置,使用localhost替代127.0.0.1:

  • 更新main.js中的URL参数:
browser.cookies.getAll({ url: "http://localhost:3000" }).then(console.log, console.error)
  • 更新manifest.json中的权限:
{
  "permissions": [
    "cookies",
    "*://localhost:3000/*"
  ]
}

方案2:修改Rails的Cookie绑定域名

在Rails项目的config/environments/development.rb中,修改Cookie的domain配置,使其绑定到127.0.0.1:

# 绑定到127.0.0.1
Rails.application.config.session_store :cookie_store, key: '_your_app_session', domain: '127.0.0.1'

# 兼容localhost和127.0.0.1的写法(可选)
# Rails.application.config.session_store :cookie_store, key: '_your_app_session', domain: [:all, subdomain: false]

修改后重启Rails服务器,重新生成Cookie。

额外检查项

  • 确认Cookie的path属性为/:如果Rails设置了特定路径,需在browser.cookies.getAll中添加path参数,比如{ url: "http://127.0.0.1:3000", path: "/your-path" }。
  • 检查Firefox隐私设置:确保未开启"阻止第三方Cookie"(扩展后台脚本获取同站点Cookie不受此限制,但需确认站点Cookie未被浏览器拦截)。
  • 验证扩展权限:确认Firefox已授予扩展访问127.0.0.1:3000的权限,可在扩展管理页面查看权限状态。

内容的提问来源于stack exchange,提问作者Ash Hammond

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 07:37:12