ਪ੍ਰੌਕਸੀ ਪ੍ਰੋਫਾਈਲ ਬਦਲਣ ਨਾਲ ਚੁਣਿਆ ਖਾਤਾ ਬਦਲਣਾ ਚਾਹੀਦਾ ਹੈ, ਨਾ ਕਿ ਦੂਜਾ onAuthRequired ਸਰੋਤਾ ਜੋੜਨਾ। ਨਹੀਂ ਤਾਂ ਪੁਰਾਣੇ closures ਪਿਛਲੀ ਚੋਣ ਦੇ ਖਾਤੇ ਨਾਲ ਜਵਾਬ ਦਿੰਦੇ ਰਹਿ ਸਕਦੇ ਹਨ।

ਸਰਵਿਸ ਵਰਕਰ ਦੇ ਸਿਖਰਲੇ ਪੱਧਰ 'ਤੇ ਇੱਕ ਨਾਮ ਵਾਲਾ ਸਰੋਤਾ ਰਜਿਸਟਰ ਕਰੋ। ਇਵੈਂਟ ਆਉਣ 'ਤੇ ਮੌਜੂਦਾ ਖਾਤਾ ਪੜ੍ਹੋ:

function answerProxyChallenge(details, reply) {
  if (!details.isProxy) {
    reply({});
    return;
  }
  chrome.storage.session.get('selectedProxy').then(({selectedProxy: p}) => {
    if (!p || details.challenger.host !== p.host ||
        details.challenger.port !== p.port) {
      reply({});
      return;
    }
    reply({authCredentials: {username: p.username, password: p.password}});
  }).catch(() => reply({cancel: true}));
}

chrome.webRequest.onAuthRequired.addListener(
  answerProxyChallenge,
  {urls: ['<all_urls>']},
  ['asyncBlocking'],
);

ਇਹ ਹਿੱਸਾ ਮੰਨਦਾ ਹੈ ਕਿ ਐਕਸਟੈਂਸ਼ਨ ਪਹਿਲਾਂ ਹੀ ਚੁਣੀ HTTP ਪ੍ਰੌਕਸੀ ਨੂੰ selectedProxy ਅਧੀਨ ਸੰਭਾਲਦੀ ਹੈ, ਇੱਕ ਸੰਖਿਆਤਮਕ ਪੋਰਟ ਅਤੇ ਇਸਦੇ ਲੋੜੀਂਦੇ ਖਾਤੇ ਨਾਲ। ਮੈਨਿਫੈਸਟ ਨੂੰ webRequest, webRequestAuthProvider, storage ਅਤੇ ਲੋੜੀਂਦੀਆਂ ਹੋਸਟ ਇਜਾਜ਼ਤਾਂ ਦੀ ਲੋੜ ਹੈ। ਪ੍ਰੌਕਸੀ ਚੋਣ ਨੂੰ ਵੀ proxy ਇਜਾਜ਼ਤ ਚਾਹੀਦੀ ਹੈ।

ਰਜਿਸਟਰੇਸ਼ਨ ਸਮਕਾਲੀ ਰੂਪ ਵਿੱਚ ਹੁੰਦੀ ਹੈ। Chrome ਕੋਲ ਭੇਜਣ ਲਈ ਸਥਾਪਿਤ ਸਰੋਤਾ ਹੋਣ ਤੋਂ ਬਾਅਦ ਕਾਲਬੈਕ ਦੇ ਅੰਦਰ ਸਟੋਰੇਜ ਪੜ੍ਹੀ ਜਾਂਦੀ ਹੈ। ਸਿਰਫ਼ ਸ਼ੁਰੂਆਤੀ storage promise ਦੇ ਹੱਲ ਹੋਣ ਤੋਂ ਬਾਅਦ ਰਜਿਸਟਰ ਕਰਨ ਨਾਲ ਜਾਗਣ ਦਾ ਪਾੜਾ ਬਣਦਾ ਹੈ।

ਰਿਲੀਜ਼ ਤੋਂ ਪਹਿਲਾਂ ਇਨਕਾਰ ਸੀਮਾ ਜੋੜੋ

ਹਿੱਸਾ ਰਜਿਸਟਰੇਸ਼ਨ ਅਤੇ ਖਾਤਾ ਚੋਣ ਦਿਖਾਉਂਦਾ ਹੈ। ਹਰ ਬੇਨਤੀ ਲਈ ਇੱਕ ਸੀਮਤ ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਰਿਕਾਰਡ ਜੋੜੋ ਤਾਂ ਕਿ ਰੱਦ ਕੀਤਾ ਪਾਸਵਰਡ ਬੇਅੰਤ ਸਪੁਰਦ ਨਾ ਹੋਵੇ। ਪੂਰਾ ਹੋਣ ਜਾਂ ਅਸਫਲ ਹੋਣ 'ਤੇ ਉਹ ਰਿਕਾਰਡ ਸਾਫ਼ ਕਰੋ। ਵਰਕਰ ਬੰਦ ਹੋਣ 'ਤੇ ਵਰਕਰ globals ਗਾਇਬ ਹੋ ਸਕਦੇ ਹਨ, ਇਸ ਲਈ ਜਾਗਣ ਵਿਚਕਾਰ ਲੋੜੀਂਦੀ ਸਥਿਤੀ ਢੁਕਵੇਂ ਐਕਸਟੈਂਸ਼ਨ ਸਟੋਰੇਜ ਖੇਤਰ ਵਿੱਚ ਰੱਖੋ।

storage.session ਬ੍ਰਾਊਜ਼ਰ ਸੈਸ਼ਨ ਦੇ ਅੰਦਰ ਵਰਕਰ ਮੁੜ-ਸ਼ੁਰੂਆਤਾਂ ਨੂੰ ਸਹਿੰਦਾ ਹੈ; ਇਹ ਬ੍ਰਾਊਜ਼ਰ ਮੁੜ-ਸ਼ੁਰੂਆਤਾਂ ਵਿਚਕਾਰ ਸਥਾਈ ਖਾਤਾ ਸਟੋਰੇਜ ਨਹੀਂ ਹੈ। ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ਕਿ ਕੋਈ ਚੁਣਿਆ ਖਾਤਾ ਉਪਲਬਧ ਨਾ ਹੋਣ 'ਤੇ ਐਕਸਟੈਂਸ਼ਨ ਕੀ ਕਰਦੀ ਹੈ।

isProxy ਅਤੇ challenger ਜਾਂਚਾਂ ਕਿਸੇ ਅਸੰਬੰਧਿਤ ਵੈੱਬਸਾਈਟ ਚੁਣੌਤੀ ਨੂੰ ਇਹ ਖਾਤਾ ਮਿਲਣ ਤੋਂ ਰੋਕਦੀਆਂ ਹਨ। ਜੇ ਬ੍ਰਾਊਜ਼ਰ ਕਦੇ ਇਵੈਂਟ ਨਹੀਂ ਭੇਜਦਾ, ਤਾਂ ਸਿਰਫ਼ ਸਰੋਤਾ ਸਫ਼ਾਈ ਇਸਨੂੰ ਪੈਦਾ ਨਹੀਂ ਕਰ ਸਕਦੀ: ਅਸਲ ਬੇਨਤੀ, ਇਜਾਜ਼ਤਾਂ ਅਤੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿਵਹਾਰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਜਾਂਚੋ।

ਸੰਬੰਧਿਤ ਲੇਖ