首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从HTTP-Request头获取授权

从HTTP-Request头获取授权
EN

Stack Overflow用户
提问于 2014-07-28 16:26:22
回答 3查看 18.5K关注 0票数 18

我已经在SO中搜索了一些关于这方面的帖子,但只能找到一些解释了这个头部的用途或如何在c#中获得authorization头部的帖子,但我不想从服务器端读取它,而是从客户端读取它。

有没有办法从浏览器获取Base64编码头"Authorization“?我想实现一个工具,在那里你可以登录,如果你点击一个特殊的按钮,你的用户名将被保存。

我的问题是浏览器会自动进行授权,而对于jQuery和JavaScript方法,您只能设置requestheaders并获取响应头。我找不到一种方法来获得requestheaders。

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

我正在通过SVN登录,浏览器会在你进入网站的那一刻进行授权。

只有用户名就足够了。我正在寻找解决方案,其中用户不必输入他们的用户名。

EN

回答 3

Stack Overflow用户

发布于 2014-10-04 17:05:03

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

How to use Basic Auth with jQuery and AJAX?

所以请不要在这件事上夸大我

代码语言:javascript
复制
$.ajaxSetup({
  headers: {
    'Authorization': "Basic XXXXX"
  },
  data: '{ "comment" }',
  success: function (){
    alert('Thanks for your comment!'); 
  }
});

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

票数 4
EN

Stack Overflow用户

发布于 2020-04-28 17:21:05

您可以使用本机fetch API

代码语言:javascript
复制
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
  }
)
票数 1
EN

Stack Overflow用户

发布于 2014-11-26 17:43:57

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

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

在javascript中解码base64可以使用@michael在评论中建议的以下函数来完成。

代码语言:javascript
复制
window.atob("base64encodedString");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24991151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档