#1807·superagent

[修复] 代理程序的 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