Chrome MV3中指定域名权限时webRequest.onAuthRequired不触发的原因
前言
Chrome 108版本中通过webRequestAuthProvider为webRequest.onAuthRequired添加了blocking支持。
- 相关问题追踪:Issue 1135492(Manifest V3中代理与onAuthRequired的使用问题)
- 对应源码文件:web_request_api.cc
在Chrome 108的Manifest V3环境中,当host_permissions设为"*://*/*"时,webRequest.onAuthRequired可正常注册并触发,但设为"*://*.domain.com/*"时无法触发。现需明确:为何指定"*://*.domain.com/*"作为host_permissions时,webRequest.onAuthRequired无法触发?
详情
所有操作均针对同一代理域名,例如*.domain.com,请求流程为:浏览器 -> 代理(abc.domain.com)-> 网站。
使用最小权限"*://*.domain.com/*"作为host_permissions
webRequest.onAuthRequired无法触发。
Chrome MV3 manifest.json
"permissions": [ "proxy", "webRequest", "webRequestAuthProvider" ], "host_permissions": [ "*://*.domain.com/*" ],
background.js
const urls = ['*://*.domain.com/*']; chrome.webRequest.onAuthRequired.addListener(this.process, {urls}, ['blocking']);
使用通用权限"*://*/*"作为host_permissions
webRequest.onAuthRequired可正常触发。
Chrome MV3 manifest.json
"host_permissions": [ "*://*/*" ],
background.js
const urls = ['*://*/*']; chrome.webRequest.onAuthRequired.addListener(this.process, {urls}, ['blocking']);
内容的提问来源于stack exchange,提问作者erosman
相关产品推荐
相关产品推荐

