2013-04-17 81 views
8

我可以看到,當我從我的Chrome應用程序發出一個xhr時,它發送一些cookie,並且這些cookie在應用程序中保持跟蹤。發送set-cookie標頭的服務器正確更新它們。我需要閱讀一個cookie,並且我嘗試使用「cookie」權限,但是chrome向我大喊......是否還有另一個API可以使用?從Chrome應用程序訪問cookie

編輯:我正在使用新的打包應用程序。

+0

一些餅乾[僅HTTP( https://www.owasp.org/index.php/HttpOnly)。對於這樣的情況,應該沒有辦法通過JavaScript獲取它們。 –

+1

我強烈反對。我不應該使用套接字來實現HTTP請求,只是爲了得到我需要的返回頭(set-cookie) – ddumont

+0

在任何情況下,我都不想試圖獲取僅限於http的cookie – ddumont

回答

2

我有一個類似的問題,其中包含應用程序chrome.socket api許可XHR的安全限制似乎霸道。請參閱Setting "unsafe" headers in packaged app XHR

我最終爲我的用例創建了一個「填充」xhr對象,儘管它不處理例如分塊編碼。您可能會發現它有用:https://github.com/kzahel/jstorrent/blob/fresh/js/chromesocketxhr.js

我結束了在提交一個crbug錯誤:https://code.google.com/p/chromium/issues/detail?id=335934

+1

感謝您的信息,我在問題中添加了一些評論。希望他們解決這個問題,以便我們不必實際重新實施xhr套接字。 – ddumont

4

餅乾顯然是Chrome封裝應用的暗區。

使用擴展,擴展與正常的瀏覽活動共享cookie jar。對於打包應用程序,每個應用程序都有一個單獨的jar。

目前的行爲似乎是XHR請求在權限部分的清單中指定的網站在此jar中設置Cookie,但沒有辦法如何擺脫它們,除了重新安裝應用程序。沒有用於打包應用程序管理Cookie的API,並且它們的Cookie不會顯示在開發人員工具或about:// settings/cookies頁面中。

的crbugs包括

https://code.google.com/p/chromium/issues/detail?id=70391 https://code.google.com/p/chromium/issues/detail?id=152758 https://code.google.com/p/chromium/issues/detail?id=157474

並填充響應此這兩個問題,所以質疑

https://code.google.com/p/chromium/issues/detail?id=236585 https://code.google.com/p/chromium/issues/detail?id=335934

+0

我注意到有一些[optional_permissions](https://developer.chrome.com/apps/permissions)也包含了cookie,任何人試圖用這些權限訪問/刪除cookie? – colthreepv