Chrome插件开发:用户:pass@url不再被谷歌浏览器支持

Chrome plugin development: user:pass@url not supported by Google Chrome anymore?

本文关键字:谷歌浏览器 支持 不再 用户 插件 开发 Chrome pass@url      更新时间:2023-09-26

我开发了一个Chrome插件,它使用XMLHttpRequest将带有用户名/密码的GET HTTP请求发送到受basic-auth保护的URL,以便它可以在之后"自动登录"它(因为Chrome缓存HTTP basic-auth的凭据(。

这是我使用的代码:

  var xml = new XMLHttpRequest();
  xml.open('GET',<url>,false,<username>,<password>)
  xml.send('');

它曾经在很长一段时间内工作正常,但前段时间开始失败。插件代码没有改变,所以我认为它可能与Chrome本身有关。我下载了OSX(17(和BAM的先前版本,它再次工作。

经过一些额外的研究,我发现这可能与Chrome 19不支持用户名:pwd@url语法有关,用于对受基本身份验证保护的URL进行身份验证,因为当我发送XMLHttpRequest时,我在Google Chrome的js控制台中看到了这一点:

获取 http://user:pass@domain.com 401(未经授权(

有谁知道这是一个错误还是Chrome停止支持此功能?

谢谢

马塞洛。

您不是唯一遇到此问题的人。它惹恼了其他几个人的羽毛。

但是,鉴于Chromium开发人员的评论:

有意

弃用了对 URL 中嵌入身份验证的支持。

看起来它是故意删除的。