使用 Electron 来替代本地调试线上代理的场景

时间: 2023-11-14 admin 维修知识

使用 Electron 来替代本地调试线上代理的场景

使用 Electron 来替代本地调试线上代理的场景

Cookie Samesite 问题

  • =zh-cn
  • /
  • =14

Chrome 94 版本不再放行,无法再携带 Cookies,也就是 Electron v14 之后的版本无法通过 webSecurity: false 来禁用这些问题。

新版本(v27),通过复写 onHeadersReceived 实现。

function disableSamesiteCookies(filter = ["*://*/*"]) {session.defaultSession.webRequest.onHeadersReceived({ urls: filter },(details, callback) => {const newCookies = [];details?.responseHeaders?.["set-cookie"]?.map((item) =>newCookies.push(item.split("; ")[0] + "; Secure; SameSite=None"));details.responseHeaders["set-cookie"] = newCookies;callback({ cancel: false, responseHeaders: details.responseHeaders });});
}

Github