1 回答

TA貢獻1803條經驗 獲得超6個贊
Cookies 由瀏覽器為首先設置 cookie 的域保存。只是因為您在“應用程序”選項卡中看不到 cookie,并不意味著 cookie 沒有保存。
如果您的前端https://ui.example.com對 XHR 進行了調用https://foo.herokuapp.com并且該調用返回了一個Set-Cookie標頭,則瀏覽器將該 cookie 保存在foo.herokuapp.com域下。您不會在ui.example.com“應用程序”選項卡中看到它。盡管如此,當您再次調用 XHR 時foo.herokuapp.com,瀏覽器將發送您之前設置的 cookie。
您可以進行此實驗:登錄后,打開一個新選項卡并導航到https://foo.herokuapp.com. 現在打開應用程序選項卡,您應該會在那里看到您的 cookie。
也就是說,請記住瀏覽器會將這些 cookie 視為 3rd 方 cookie,并且瀏覽器供應商最終將放棄對 3rd 方 cookie 的支持。最終,您應該確保您的前端和后端服務來自同一個父域。
至于另一個問題 - Heroku 在其網關和您的應用程序之間終止 SSL 不是問題。cookie 上的secure標志是瀏覽器的信息 - 瀏覽器不會通過非 SSL 連接接受或發送帶有此標志的 cookie。您的瀏覽器和 heroku 服務器之間的連接是 SSL,因此 cookie 將被接受/發送。在您的后端,cookie 只是 HTTP 標頭,后端并不真正關心 cookie 的標志或連接類型。
- 1 回答
- 0 關注
- 101 瀏覽
添加回答
舉報