当 api 调用到达服务时,授权标头被删除

编程入门 行业动态 更新时间:2024-10-07 02:30:49

当 <a href=https://www.elefans.com/category/jswz/34/1771441.html style=api 调用到达服务时,授权标头被删除"/>

当 api 调用到达服务时,授权标头被删除

有从UI到Backend服务的xhr调用,

在请求中我们清楚地看到

Authorization
header 有 jwt 但是当 api 调用收到后端服务时,没有 Authorization 标头。

   const xhr = new XMLHttpRequest(); xhr.open('PUT', url, true);
 
  xhr.setRequestHeader('Authorization', `Bearer ${jwtToken}`);
  xhr.setRequestHeader(
    'Cache-Control',
    'private, no-cache, no-store, must-revalidate'
  );
  xhr.setRequestHeader('Pragma', 'no-cache');
  xhr.setRequestHeader('Expires', '0');
  xhr.send();`

在 API 中,当我们尝试验证 Authorization 标头时,它不可用。

间歇性发生。无法追根溯源

回答如下:

如果“url”与提供网络应用程序的来源不同,您需要在发送前添加此代码:

xhr.withCredentials = true;

如果还是不行,那可能是服务器的问题。

如果你使用的服务器恰好是Apache:

默认情况下,它会去除 Authorization 标头,因此您必须将其添加到 .htaccess 文件中。

RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

更多推荐

当 api 调用到达服务时,授权标头被删除

本文发布于:2024-05-30 15:56:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770666.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:api   标头被

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!