我已经在SO中搜索了一些关于这方面的帖子,但只能找到一些解释了这个头部的用途或如何在c#中获得authorization头部的帖子,但我不想从服务器端读取它,而是从客户端读取它。
有没有办法从浏览器获取Base64编码头"Authorization“?我想实现一个工具,在那里你可以登录,如果你点击一个特殊的按钮,你的用户名将被保存。
我的问题是浏览器会自动进行授权,而对于jQuery和JavaScript方法,您只能设置requestheaders并获取响应头。我找不到一种方法来获得requestheaders。
库gethttp可以获取一些标头,但不能获取授权标头。我的猜测是这个头是隐藏的。
我正在通过SVN登录,浏览器会在你进入网站的那一刻进行授权。
只有用户名就足够了。我正在寻找解决方案,其中用户不必输入他们的用户名。
发布于 2014-10-04 17:05:03
我假设你正在尝试使用基本的领域授权机制,这已经在Stackoverflow上得到了回复,并涉及到$.ajax() jquery对象。
How to use Basic Auth with jQuery and AJAX?
所以请不要在这件事上夸大我
$.ajaxSetup({
headers: {
'Authorization': "Basic XXXXX"
},
data: '{ "comment" }',
success: function (){
alert('Thanks for your comment!');
}
});其中XXXXX是您的用户名:password base64 encoded
发布于 2020-04-28 17:21:05
您可以使用本机fetch API
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
}
)发布于 2014-11-26 17:43:57
无法获取当前页面请求的标头。这个问题已经被问了好几次了,on SO。
但是,您可以发出新请求并检索该请求的标头。这样你就可以得到基本的Auth报头,base64解码这个字符串,然后你就有了用户名(还有密码)。
在javascript中解码base64可以使用@michael在评论中建议的以下函数来完成。
window.atob("base64encodedString");https://stackoverflow.com/questions/24991151
复制相似问题