最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Control HTTP basic authentication using javascript - Stack Overflow

programmeradmin6浏览0评论

I'd like to check if a URL is protected by a Http Basic Authentication using javascript. Here is what I have so far :

  function showFailure(){ alert("FAILED ") }
  function showSuccess(){ alert("SUCCESS") }

  var myRequest = new Request({
    url: 'http://localhost/access_protected_HTTP_BASIC', 
    method: 'get', 
    onSuccess: showSuccess,
    onFailure: showFailure
  }).send();

But that actually opens the browser login popup to access the resource. Is there a way not to trigger that popup?

Thanks!

Note : I use mootools in this example but I'd take any javascript example that does the trick :)

I'd like to check if a URL is protected by a Http Basic Authentication using javascript. Here is what I have so far :

  function showFailure(){ alert("FAILED ") }
  function showSuccess(){ alert("SUCCESS") }

  var myRequest = new Request({
    url: 'http://localhost/access_protected_HTTP_BASIC', 
    method: 'get', 
    onSuccess: showSuccess,
    onFailure: showFailure
  }).send();

But that actually opens the browser login popup to access the resource. Is there a way not to trigger that popup?

Thanks!

Note : I use mootools in this example but I'd take any javascript example that does the trick :)

Share Improve this question asked Oct 21, 2010 at 1:30 NhaolioNhaolio 1451 gold badge2 silver badges6 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 7

Based on the answer to a similar question, you can manually pass a username and password when sending a request. (And according to the MooTools Docs, the user and password parameters do exactly this.)

Further, the XMLHttpRequest spec says:

If authentication fails, Authorization is not in the list of author request headers, request username is non-null, and request password is non-null, user agents must not prompt the end user for their username and password.

This means you can set a dummy username and password, and the browser won't prompt the user. If you get back a 401 status code, it means authorization is required.

all you should need to do is add a header Authorization: Basic *Base64EncodedString* where *Base64EncodedString* is base64Encode(username+':'+password) it should be easy enough to find a base64encode function out there. YMMV

发布评论

评论列表(0)

  1. 暂无评论