我的 Firefox 正在向我的私有后端发出 OPTIONS 预检请求,以使用凭据发出后续 GET 请求。
预检请求包含标头
Origin http://localhost:9670
Access-Control-Request-Headers authorization
Access-Control-Request-Method GET
Run Code Online (Sandbox Code Playgroud)
我的服务器响应
Access-Control-Allow-Credentials true
Access-Control-Allow-Origin http://localhost:9670
Vary: Origin
Run Code Online (Sandbox Code Playgroud)
根据我发现的文档应该没问题。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials
无论如何,我的火狐仍然显示
CORS 缺少允许标头
在开发者控制台“网络”选项卡的“已传输”部分中。
我的服务器响应缺少什么?
jub*_*0bs 14
此外
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:9670
Vary: Origin
Run Code Online (Sandbox Code Playgroud)
对预检请求的响应还必须包含
Access-Control-Allow-Headers: Authorization
Run Code Online (Sandbox Code Playgroud)
否则,访问控制检查将失败,并且您的浏览器将不会发送实际的(预检的)请求。请参阅https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers
您是否在后端从头开始实施 CORS?如果是这样,为什么不使用一个(好的)CORS 库,您可以配置它来为您处理所有这些事情?
归档时间: |
|
查看次数: |
10348 次 |
最近记录: |