[修复] 代理程序的 Cookie 未正确附加到重定向的正确域/路径
作者: robaca创建于 2024年6月19日更新于 2024年7月8日
标签Bug
□ 描述错误
** Node.js版本:** 20.110.
** OS版本:** MacOS Sonoma 14.5
** 说明:**
我们正在使用超特效代理,在接口测试前进行OpenID授权代码流,在多向导上跨越域边界. 在从超级剂8.0.8升级到9.0.2后,由于后一重定向中缺少饼干而失败.
在给代理 lib 添加一些控制台. logs后, 它看起来在 8. 0.8 中“ saveCookies () ” 方法不是存储正确的 url.hostname/ path ,而是“ null / null ” , 这意味着所有 cookie 以后不论域都附加在后面, 而9. 0.2 中它通过错误的域和路径进入“ This.jar. setCookies () ” , 所以它们不会在后面附加 。
□ 实际行为
示例
代理开始于“www.service.org”域名,该域名设置了“session” Cookie,然后重定向到“oidc.service.org”进行认证,后者本身设置了饼干。
之后,同一代理商也用于在oidc.service.org'上张贴登录证书,这导致重新定向到www.service.org'。 现在, " session " cookie不转至 " www.service.org " ,因为它被保存在饼干罐中,并重新定位主机/路径为 " oidc.service.org " 。
□ 预期行为
在答复任何重新定向请求时设定的饼干,如果它们本身没有域名,则应保存在该确切请求的域上,而不是保存在后续请求的域上。
□ 核对表
- 我查过GitHub的问题 也查过类似的问题
- 我完全读了读本和文献。
- 我用最新版本的Node.js和这个包裹测试了我的密码,并证实它仍然不起作用.
内容来源: forwardemail/superagent