【问题标题】:How can I get basic auth information from browser如何从浏览器获取基本身份验证信息
【发布时间】:2019-08-08 14:53:49
【问题描述】:

我的后端需要基本的 auth Authorization 标头。

'Authorization': 'Basic dXNlcm5hbWU6cGFzc3dvcmQ'

我遇到的问题是,我需要使用浏览器中的本机基本身份验证提示,但我不知道如何在我的 javascript 前端应用程序中获取基本身份验证信息。换句话说:我需要从浏览器的基本身份验证属性中获取用户名和密码。

谁能告诉我如何从浏览器原生基本身份验证提示中获取基本身份验证信息?

【问题讨论】:

标签: javascript security browser basic-authentication


【解决方案1】:

要从后端获取令牌请求(例如登录请求)作为响应,您将获得可以保存在 s 中的令牌

// Store
sessionStorage.setItem("Authorization", "dXNlcm5hbWU6cGFzc3dvcmQ");
// Retrieve
let token = sessionStorage.getItem("Authorization");

对于 API 调用使用 fetch

用于添加授权头代码

   let token = sessionStorage.getItem("Authorization");
    var headers = new Headers();
    headers.append("Authorization", "Basic " +token;

    fetch("https://url", {
        headers: headers
      })
      .then((response) => { ... })
      .done();

【讨论】:

  • 我知道如何将它添加到请求中。我不知道如何从浏览器中获取它...
  • @LorenzPfisterer 我已经更新了我的答案。如果有任何困惑或帮助,请告诉我
  • 问题是Authorization标头的值不是静态的。它由用户使用浏览器本机基本身份验证提示提供。我不知道如何获得这些信息。
  • @LorenzPfisterer 喜欢这个blog.stevensanderson.com/2008/08/25/…
  • @LorenzPfisterer 你可以试试javaxt.com/wiki/Tutorials/Javascript/…
猜你喜欢
  • 2015-03-20
  • 1970-01-01
  • 2019-06-26
  • 1970-01-01
  • 1970-01-01
  • 2017-11-29
  • 1970-01-01
  • 2023-03-22
  • 2011-04-28
相关资源
最近更新 更多