Расширение Chrome предотвращает Chrome.WebRequest.onAuth требуется многократная отправка при неверных учетных данных - PullRequest
0 голосов
/ 17 сентября 2018

Я создаю расширение Chrome для автоматического заполнения имени пользователя и пароля, и пока оно работает нормально, включая диалог HTTP Basic Auth.

Но есть одна проблема, если я предоставляю неверное имя пользователя и пароль в диалоге HTTP Basic auth, он продолжает отправку и не выдает никакой ошибки.

Manifest.js

{
  "name": "All Passwords List",
  "version": "0.3",
  "description": "Manage all Passwords",
  "permissions": [
    "contentSettings",
    "tabs",
    "activeTab",
    "http://*/",
    "storage",
    "webRequest",
    "webRequestBlocking",
    "debugger",
    "<all_urls>"
  ],
  "browser_action": {
    "default_icon": "images/icon.png",
    "default_popup": "app.html"
  },
  "manifest_version": 2,
  "content_scripts": [
  {
      "matches": [
          "*://*/*"
      ],
      "js": [
        "scripts/jquery.js"
    ]

    }],
    "background": {
      "scripts": [    
        "scripts/jquery.js",
        "scripts/custom.js"

      ],
      "persistent": true
    }

}

Custom.js [фоновый скрипт]

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

function retrieveCredentials() {

    chrome.storage.local.get(['key'], function(result) { 

        if (result == ""){
            return {
                cancel: true
            };
        }else{
            authCredentials: {
                return {
                    username: result.key.username,
                    password: result.key.password
                };
            }            
        }
    });  
}


chrome.webRequest.onCompleted.addListener(  function(details) {
    console.log(details)
    },
    {urls: ["<all_urls>"]},
    ["blocking", "requestHeaders"])

chrome.webRequest.onBeforeSendHeaders.addListener(
    function(details) {
    console.log(details)

    },
    {urls: ["<all_urls>"]},
    ["blocking", "requestHeaders"]);

Я не уверен, как я могу остановить эти множественные представления, если введены неправильный пароль и имя пользователя.

...