Javascript 从HTTP请求头获取授权

Javascript 从HTTP请求头获取授权,javascript,jquery,html,httprequest,Javascript,Jquery,Html,Httprequest,我已经在SO中搜索了一些关于此的线程,但只能找到一些解释了此头的用途或如何在c#中获取授权头的内容,但我不想从服务器端而是从客户端读取它 有没有办法从浏览器中获取Base64编码的标题“授权”? 我想实现一个工具,你可以登录,如果你点击一个特殊的按钮,你的用户名将被保存 我的问题是浏览器会自动进行授权,使用jQuery和JavaScript方法,您只能设置RequestHeader和获取ResponseHeader。我找不到获取RequestHeader的方法 库可以获取一些头,但不能获取授权头

我已经在SO中搜索了一些关于此的线程,但只能找到一些解释了此头的用途或如何在c#中获取授权头的内容,但我不想从服务器端而是从客户端读取它

有没有办法从浏览器中获取Base64编码的标题“授权”? 我想实现一个工具,你可以登录,如果你点击一个特殊的按钮,你的用户名将被保存

我的问题是浏览器会自动进行授权,使用jQuery和JavaScript方法,您只能设置RequestHeader和获取ResponseHeader。我找不到获取RequestHeader的方法

库可以获取一些头,但不能获取授权头。 我猜这个标题是隐藏的

我正在通过SVN登录,浏览器会在您进入网站时进行授权

只有用户名就足够了。
我正在搜索用户不必输入用户名的解决方案。

我假设您正在尝试使用基本领域授权机制 这已经在Stackoverflow上得到了回复,涉及到
$.ajax()
jquery对象。

所以请不要在这件事上对我投反对票

$.ajaxSetup({
  headers: {
    'Authorization': "Basic XXXXX"
  },
  data: '{ "comment" }',
  success: function (){
    alert('Thanks for your comment!'); 
  }
});

其中XXXXX是您的用户名:password base64 encoded

无法获取当前页面请求的标题。这已经被问了好几次了

但是,您可以发出新请求并检索该请求的标题。这样,您就可以获得基本的Auth头,base64解码该字符串,然后获得用户名(以及密码)

可以使用@michael在注释中建议的以下函数在javascript中解码base64

window.atob("base64encodedString");

您可以使用本机
获取


你试图在服务器端使用C#或在客户端使用Javascript来读取标题?呃,忘了这么说了。在客户端使用js。你有没有在
XHR
对象中尝试
.getAllResponseHeaders()
方法?你不应该相信浏览器,这就像网络俱乐部的第一条规则,来吧!嗯,它只是在内部网中使用,所以它不应该是一个大问题,除了你得到的头是那些你在xhr中发送的头,所以它们已经为你所知。这样做没有意义。不,这是不可能的。在JS中无法获取这些标题。当内置的
atob
函数对base64进行解码时,为什么需要实现这个
decodeBase64
函数?很好。我使用这个主要是因为我当时不知道这个内置的。
fetch("http://localhost:8888/validate",{
  method:"GET",
  headers: {"Authorization": "Bearer xxxxx"}
})
.then(res => res.json())
.then(
  (result) => {
    // do something
  },
  // Note: it's important to handle errors here
  // instead of a catch() block so that we don't swallow
  // exceptions from actual bugs in components.
  (error) => {
    // handle error
  }
)