![](/img/trans.png)
[英]rejected by cors when using withCredentials, despiete access-control-allow-credentials and origin are set
[英]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.