基于JS Form的Basic Auth仍显示浏览器凭据窗口?

时间:2018-05-18 17:03:09

标签: javascript http-headers basic-authentication

我正在尝试通过标准网络表单和js使用基本身份验证登录。

当前代码似乎正确验证(RE:用户触发Authenticated警报,非用户失败)但重定向到安全资源会获得浏览器Basic Auth登录提示?

这里是否有我遗漏的东西允许通过JS进行初始身份验证,以便重定向可以绕过默认的登录提示?

- 登录页面位于同一域的根目录 - 安全页面是一个更深的目标。

    var username = $("input#username").val();
    var password = $("input#password").val();
    var secureURL = "https://example.com/secure/"

    $.ajax
        ({
        type: "GET",
        url: secureURL,
        headers: {
            "Authorization": "Basic " + btoa(username + ":" + password)
        }
        })
        .done(function(){
            alert('Authenticated!')
            window.location.href = secureURL;
        })
        .fail(function(){
            alert('Error!')
        });
    });

修改 我想我明白了。这是一个似乎按预期工作的ajax请求体。

$.ajax(
    {
      'password' : password,
      'username' : username,
      'url'      : secureURL,
      'type'     : 'GET',
      'success'  : function(){ window.location = secureURL; },
      'error'    : function(){ alert('Bad Login Details');},
    }
  );

  return false;

0 个答案:

没有答案