[英]Why is the Authorization header missing only on POST (or other modifying) requests and only for a subset of users?
有一个前端应用程序向不同主机上的后端 API 发出请求。 大多数请求都需要由Authorization
header 中的令牌提供的身份验证。 对于大多数用户来说,一切正常,包括POST
和PATCH
请求。 对于一部分用户 - 使用他们的公司计算机(Windows 10、Edge 88)并在他们的公司网络上 - 没有任何数据更改请求包括Authorization
header。 对于任何其他进行任何类型的跨浏览器测试的人来说,即使是那些在个人设备上的相同用户,也无法复制。 这些用户可以全天发出POST
请求登录、经过身份验证的GET
请求,但不能发出经过身份验证的POST
或PATCH
请求。
前端应用程序(React)使用 axios 向 API 发出请求,并使用令牌设置授权 header。 API 响应飞行前 OPTIONS 请求,包括这些 CORS 相关标头:
access-control-allow-credentials: true
access-control-allow-origin: https://the-correct-front-end-host-in-the-actual-header.com
access-control-allow-headers: accept, accept-encoding, authorization, content-type, dnt, origin, user-agent, x-csrftoken, x-requested-with
access-control-allow-methods: DELETE, GET, OPTIONS, PATCH, POST, PUT
access-control-max-age: 86400
似乎有一些重要的安全配置可以防止包括这个 header 或者一些被忽视的愚蠢和微妙的东西。 它是哪一个? 是否有任何明显的原因会为这些用户排除或剥夺Authorization
header?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.