繁体   English   中英

如何在云对象存储CORS PUT请求中设置Access-Control-Allow-Credentials标头

[英]How to set Access-Control-Allow-Credentials header in cloud-object-storage CORS PUT request

我在IBM Cloud Object存储中有一个映像,它需要授权才能进行提取。 但这在浏览器和iOS(我正在构建一个混合应用)中不起作用,但在Android中可以正常工作。 调试我看到飞行前请求失败,并显示403授权错误。 在Andorid中,没有预检请求,因此图像加载正常,但浏览器和iOS的Webview发出了预检请求。

我需要以允许Authorization Header和OPTIONS标头的方式设置后端CORS。

我发现对如何做到这一点,并且已经设置了页眉和方法,但我不能找出设置允许-Credentails的语法。

这是我当前用于设置CORS的PUT请求正文:

<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
<AllowCredentials>true</AllowCredentials>
</CORSRule>
</CORSConfiguration>

MalformedXML失败。 但是,如果我删除AllowCredentials,它可以正常工作。

因此,第一个问题是AllowCredentials的XML语法是什么。

不需要Access-Control-Allow-Credentials标头。 我将CORS设置为以下方式后,OPTIONS请求的403错误就消失了:

<CORSConfiguration>
    <CORSRule>
        <AllowedMethod>PUT</AllowedMethod>
        <AllowedMethod>POST</AllowedMethod>
        <AllowedMethod>DELETE</AllowedMethod>
        <AllowedMethod>GET</AllowedMethod>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM