2013-04-17 55 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