簡體   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