簡體   English   中英

在我的商品對象的Google Storage Signed URL上啟用CORS

[英]Enable CORS on Google Storage Signed URL for my item object

我在Google雲端存儲上啟用了CORS; 現在我為任何來源和方法添加了一個通配符(*),但仍然接收“Origin'https: //my-app.net '因此不允許訪問”。

在簡歷中,我的存儲桶中的所有對象都不是公共的,但是使用c#Google Cloud庫的服務器會將簽名的URL返回給客戶端,使用$ http.get再次重新下載它以節省服務器帶寬和內存。

如果我使用帶有簽名URL的window.open一切正常(*用戶需要允許彈出)但是如果我使用帶有來自瀏覽器的簽名URL的$ HTTP.get angularjs ,盡管在我的桶上啟用了CORS,但我收到了CORS錯誤

我確實在與簽名網址相關的Google文檔中看到了這一點:

如果請求的范圍限定為子資源(例如?cors),請將此子資源(包括問號)添加到字符串的末尾。

確保按字面復制HTTP請求路徑:也就是說,您應該在您創建的字符串中包含所有URL編碼(百分號)。 此外,請確保僅包含指定子資源(例如cors)的查詢字符串參數。 您不應包含查詢字符串參數,例如?prefix,?max-keys,?marker和?delimiter。

這是使用簽名網址啟用CORS的某種設置嗎? 我可以使用c#Google雲端存儲庫實現這一目標嗎?

好吧,我發現為什么它不起作用。

首先,我建議任何有CORS問題的人用一個簡單的項目來測試它。 我做了一個簡單的Angular 6項目,我可以使用“http.get”下載我的PDF。

這是我們遇到的問題; 我們目前有一個攔截器服務,為所有請求附加“授權”標頭。

我對包含“storage.googleapis”且不包含“授權”標頭的任何請求都例外。 現在一切正常,與簽名的URL無關,簽名的URL就好了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM