2012-02-22 83 views
0

GAE =谷歌應用程序引擎 GCS =谷歌雲存儲重定向GET請求,其中包括

我的GAE應用程序接收GET用於實際存儲在GCS一桶文件的請求令牌的認證。我希望將這些請求重定向到它們的真實位置,並在重定向的請求中包含身份驗證令牌,以便GCS接受爲它們提供服務。

要發佈重定向,GAE會公開webapp2.RequestHandler.redirect,它不會讓我向原始請求添加任何標頭。

是否有可能重定向GET請求並在其中包含身份驗證令牌?

+0

哪個部分你覺得困難?我不知道GCS,所以很可能我無法幫到你,但只是閱讀這個問題,我不能分辨你是否卡住了,因爲GCS需要身份驗證令牌位於難以到達的某個地方(或許),或者你被卡住了,因爲你不知道如何在GAE上提供302響應。 – 2012-02-22 09:02:41

+0

@SteveJessop:我試圖澄清我的問題。它是否使它更清晰? – qdii 2012-02-22 09:08:18

+0

我這麼認爲。因此,GCS要求身份驗證令牌位於難以到達的某個位置(瀏覽器發送的請求標頭)。 – 2012-02-22 09:28:10

回答

2

HTTP重定向只是對3XX狀態碼的響應。您無法將標題或響應正文轉發到新位置。

這就是說,你會想在客戶端實現一些邏輯。您的客戶必須向您的GAE應用程序發出一個請求,然後處理響應,然後再向GCS發出一個請求,其中包含您要提供的所有標題或正文(您的案例中的身份驗證令牌)。

1

我更新了另一個線程以及,以防萬一你沒有看到它。

在即將發佈的AppEngine 1.6.4版本中,我們添加了將Google存儲對象名稱傳遞給blobstore.send_blob()以從您的AppEngine應用程序發送任意大小的Google Storage文件的功能。我們爲您的應用創建正確的令牌,以訪問Google存儲分區中的對象。

Here是1.6.4的預發佈公告。