当前位置: 首页 > 知识库问答 >
问题:

如何使用浏览器发送授权标头

柯昆杰
2023-03-14

我已经实现了一个使用基本身份验证(使用Spring Security性)的web服务器。

我在访问URL时禁用了默认身份验证入口点(它只返回401,而不是用www身份验证标头响应401),目的是防止浏览器显示身份验证弹出窗口。

我能够用javascript代码和命令行工具(如curl)连接到服务器,但是当我用浏览器(chrome)测试它时

<代码>curl-v-u用户:密码本地主机:8080/用户

获取/用户HTTP/1.1主机:本地主机:8080授权:基本dXNlcjpwYXNzd29yZA==
用户代理:curl/7.58.0接受:/

Chrome:版本71.0.3578.98(官方版本)(64位)
http://user:password@本地主机:8080/用户

获取/用户HTTP/1.1
主机:本地主机:8080
连接:保持活动状态
升级不安全请求:1
用户代理:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/71.0.3578.98 Safari/537.36
DNT:1
接受:文本/html、应用程序/xhtml、应用程序/xml;q=0.9,图像/webp,图像/apng,/;q=0.8接受编码:gzip,deflate,br接受语言:en-AU,en;q=0.9,fr fr;q=0.8,fr;q=0.7,en GB;q=0.6,en-US;q=0.5

为什么浏览器不发送身份验证标头。

共有3个答案

墨星鹏
2023-03-14

我发现了你的问题,因为我正在寻找同样的东西!

但是,我安装了https://modheader.com/,它完美的作品!

您调用遵循安装过程,然后添加您想要的任何标头:

宰父夕
2023-03-14

实际上你可以。借助客户端JavaScript,您可以发送。使用AJAX请求。在xhr请求参数中传递身份验证令牌。

<script type='text/javascript'>
// define vars
var url = 'https://...';

// ajax call
$.ajax({
    url: url,
    dataType : 'jsonp',
    beforeSend : function(xhr) {
      // set header if JWT is set
      if ($window.sessionStorage.token) {
          xhr.setRequestHeader("Authorization", "Bearer " +  $window.sessionStorage.token);
      }

    },
    error : function() {
      // error handler
    },
    success: function(data) {
        // success handler //can redirect to any route of your wish
    }
});
</script>

P、 我从基于浏览器的应用程序中的何处保存JWT以及如何使用它得到了提示

仇浩旷
2023-03-14

通常,浏览器在登录后获取身份验证令牌。后端将有效令牌作为授权部分添加到标头。要使用浏览器处理HTML请求,您需要一个插件,如https://addons.mozilla.org/de/firefox/addon/restclient/或者像postman、SoapUI、httpie或curl这样的额外工具(包括在许多linux发行版中)。

 类似资料:
  • 如何通过Axios.js发送带有令牌的身份验证头?我试过几件事都没有成功,比如: 给出以下错误:

  • 我尝试使用JQuery Ajax进行基本身份验证。我像这样向ajax请求添加授权标头。 然后在ASP. Net Web服务中,我尝试获取此标头。 当我打印到标题时,我看不到授权标题 缓存控制:无缓存连接:保持活动状态Pragma:无缓存接受:接受编码:gzip,deflate接受语言:tr tr,tr;q=0.9,en-US;q=0.8,en;q=0.7主机:示例。com参考:http://loc

  • 求解答,小文件能正发送至浏览器,大一点的发送失败,浏览器显示未收到服务器发送过来的数据 我在实现基于Libevent库的b/s模型时,使用bufferevent_write向浏览器发送10M的mp3文件失败,打印错误码errno的值一直等于11 resource temporarily unavailable, 并在回调函数调用完之后异常终止,无错误信息。并非跳出event_base_dispat

  • 我添加了Sha-1和Sha-256指纹,还添加了以下依赖项 实现平台('com.google.firebase:firebase bom:26.3.0')实现'com。谷歌。firebase:firebase auth' 并且还在云控制台中启用了Android设备验证API。 使用firebase phone auth时仍会打开浏览器-请帮助

  • 在过去的几个小时里,我一直在阅读推送通知应用编程接口和网络通知应用编程接口。我还发现谷歌 我试图了解我们是否可以使用桌面通知实现对浏览器的推送通知,我相信这就是Web通知API所做的。我在这里看到了一个关于如何为Chrome做到这一点的谷歌文档 现在我还不明白的是: 我们可以使用GCM/APNS向包括Firefox在内的所有Web浏览器发送推送通知吗 我相信所有这些答案都可以帮助很多有类似困惑的人

  • 我正在开发一个应用程序,其中服务器和使用api的客户端位于不同的域下,所以我想使用CORS。为此,我必须在服务器响应中设置相应的超文本传输协议标头: 此方法用作中的。 对于某些资源,用户必须经过身份验证和授权。请求通过XHR/Ajax完成。因此,如果用户未通过身份验证,Desive将向客户端发送401响应,而不是重定向到登录页面。但是设置CORS头的过滤器不用于该响应。因此,401响应不会发送到客