资讯动态

Bruno Cookie 持久化:重启不丢会话的 3 步配置法

发布时间:2026/8/31 10:10:05 来源:尧图企业网站定制
Bruno Cookie 持久化:重启不丢会话的 3 步配置法【免费下载链接】brunoOpensource IDE For Exploring and Testing APIs (lightweight alternative to Postman/Insomnia)项目地址: https://gitcode.com/GitHub_Trending/br/bruno你大概遇到过这种情况:登录接口跑通了,顺手把 session cookie 记下来,结果一重启 Bruno,再发同一个请求就变成 401——会话又没了,得重新走一遍登录流程。Bruno 的 Cookie 持久化机制就是为了解决这个痛点:它把每条 cookie 加密后写进本地存储文件,应用重启时自动回填,请求发出去时仍带着有效的会话标识。读完整篇文章,你能掌握:Cookie 存储文件的结构与加密原理、三条命令级别的手动配置流程、多环境与 CLI 自动化下的用法,以及存储文件损坏时的排查路径。存储原理:Cookie 是怎么活过应用重启的Bruno 采用本地文件优先的设计哲学——集合、环境变量存在你的目录里,Cookie 同理,只是它多了一层加密。核心逻辑在 Cookie 存储实现 中:首次启动生成密钥:应用在你的用户数据目录下创建cookies.json,并生成一个 256 位随机 passkey,加密后以encryptedPasskey字段存回该文件。按域名分组落盘:每次请求产生或你手动添加 cookie 后,cookie 会按 domain 分组,value 字段用 passkey 加密后写入cookies字段。写入做了 5 秒防抖,避免高频请求时的磁盘 IO 抖动。启动时自动回填:再次启动时,存储模块解密密钥、逐条解密 cookie,重新装载进内存中的 cookie jar,后续请求自动带上,你不需要做任何操作。之所以选本地文件而不是云端同步,是因为会话数据天然属于机器状态——它跟着你的测试环境走,而不是跟着集合仓库走,这样密钥、token 之类的敏感值就不会被误提交进 Git。实操:三步完成手动 Cookie 持久化配置打开 Bruno 后,状态栏有一个 Cookie 入口(交互逻辑可参考 Cookie 持久化测试),以下是手动录入一条会话 cookie 的完整流程:第 1 步:打开 Cookie 管理面板点击状态栏的 Cookie 图标。如果没有存过任何 cookie,面板中央会显示一个 Add Cookie 按钮,直接点击即可。第 2 步:填写字段并保存字段作用填写要点keycookie 名称与服务端 Set-Cookie 头中的名称一致,如sessionvaluecookie 值从浏览器开发者工具或登录响应中复制domain归属域名与目标 API 域名一致,如example.compath生效路径一般填/,特殊路由再收窄secure仅 HTTPS 传输生产/预发环境勾选,本地 http 调试可不勾httpOnly禁止脚本读取与来源保持一致,通常勾选填完点 Save,cookie 会出现在列表中并加密落盘。第 3 步:重启验证完全退出应用再启动,重新打开 Cookie 面板,确认刚才的 domain 仍在列表里。这一步对应 持久化验收测试 的做法:同一用户数据目录下二次启动,cookie 必须可读回。日常维护也在这个面板里完成:单条删除、按域名一键清空(带二次确认)、关键词搜索,实现见 Cookie 管理组件。延伸场景:多环境与 CLI 自动化结合环境变量做多环境切换把 cookie 的 value 指向环境变量引用,不同环境(测试/预发/生产)各配一份变量,切换环境时会话 cookie 自动跟着变。环境变量持久化的写法可以参考 setEnvVar 持久化测试。纳入版本控制的团队工作流Cookie 值本身不入库,但该配哪些 cookie、domain/path 是什么这类结构信息可以写进集合文档,配合集合的版本管理让团队按同一套约定初始化会话:CLI 场景保持会话一致Bruno 的命令行工具可以在 CI 中跑集合,配合本地已持久化的 cookie 或环境文件,让自动化任务不必每次重新登录。CLI 的命令与 runner 源码在 bruno-cli/src 下:避坑:存储文件损坏怎么排查最常见的故障是cookies.json里的密钥损坏或文件被误改。Bruno 的设计是降级而非崩溃:passkey 解不开时,面板仍会列出所有 cookie 的 domain/path,只是 value 显示为空——你可以从浏览器重新复制值,用编辑功能回填,存储会重建加密。损坏密钥测试 正是模拟了把encryptedPasskey改成非法值后应用仍能正常展示列表的场景。遇到 cookie 丢失或读不回时,按这个顺序排查:确认文件存在且合法:检查用户数据目录下cookies.json是否为合法 JSON,cookies字段是否存在;确认写入权限:应用目录是否只读、磁盘是否写满,防抖期间退出应用也可能丢失最近 5 秒内的变更;检查密钥字段:encryptedPasskey若为空或乱码,删除该文件让应用重新生成密钥(会清空全部已存 cookie,先导出再操作);确认 domain 拼写:cookie 按域名匹配请求,域名差一个点都不会被携带。小结Cookie 按 domain 分组、value 加密后存入cookies.json,重启自动回填手动配置三要素:打开状态栏 Cookie 面板 → 填字段保存 → 重启验证多环境用环境变量绑定 cookie 值,团队约定写进集合文档密钥损坏不崩溃,面板降级展示,重填值即可恢复排查顺序:文件合法性 → 写权限 → 密钥字段 → domain 拼写想深入理解本地数据存储的整体设计,可以看看 中文文档;更多边界行为(防抖、加密失败回退)直接读 存储源码 会更清楚。你在实际项目里踩过哪些会话丢失的坑,欢迎在 Issue 区交流。【免费下载链接】brunoOpensource IDE For Exploring and Testing APIs (lightweight alternative to Postman/Insomnia)项目地址: https://gitcode.com/GitHub_Trending/br/bruno创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价