The current WebExtensions ProxyAPI lacks the ability to specify username/password for use with a proxy server. That prevents the use of proxy servers requiring authentication, which is an enormous share of proxy servers in use on the internet.
We may be able to get auth to work with https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest/onAuthRequired. That wouldn't be as clean as providing auth info in the FindProxyForPAC() function, but could be a good workaround for now. See also bug 1360404 - Accept credentials in proxyInfo object (non-SOCKS)
> We may be able to get auth to work with https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest/onAuthRequired. Confirmed this works, and I have an example extension. However, it does *not* work for SOCKS proxy servers. Only HTTP and HTTPS/SSL proxy servers. So this is not a complete solution.
> Confirmed this works There is also no way to change the credentials by request since onAuthRequired() appears to do some caching.
Superseded by 1381290