2013-04-17 14 views
8

Ich kann sehen, dass wenn ich ein Xhr aus meiner Chrome App ausstelle, dass es einige Cookies sendet und diese Cookies in der App verfolgt werden. Server, die Set-Cookie-Header senden, aktualisieren sie korrekt. Ich muss jedoch ein Cookie lesen, und ich habe versucht, die "Cookies" -Erlaubnis zu verwenden, aber Chrome schrie mich an ... Gibt es noch eine API, die ich verwenden kann?Zugriff auf Cookies über eine Chrome-App

bearbeiten: Ich benutze die neuen verpackten Apps.

+0

Einige Cookies sind [http-only] (https://www.owasp.org/index.php/HttpOnly). Daher sollte es keine Möglichkeit geben, diese über JavaScript zu erhalten. –

+1

stimme ich überhaupt nicht zu. Ich sollte nicht die HTTP-Anfrage mit Sockets implementieren müssen, nur um die zurückgegebene Header brauche ich (set-cookie) – ddumont

+0

In jedem Fall versuche ich nicht, ein http nur Cookie – ddumont

Antwort

2

Ich hatte ein ähnliches Problem, wo Sicherheitsbeschränkungen auf XHR in einer gepackten App mit chrome.socket API Genehmigung übertrieben schien. Siehe Setting "unsafe" headers in packaged app XHR

Ich endete beim Erstellen eines "Shim" xhr Objekt für meinen Anwendungsfall, obwohl es z. Chunked-Codierung. Man könnte es nützlich finden: https://github.com/kzahel/jstorrent/blob/fresh/js/chromesocketxhr.js

ich einen Fehler auf crbug Einreichung endete: https://code.google.com/p/chromium/issues/detail?id=335934

+1

Vielen Dank für die Info, ich habe einige Kommentare zu dem Problem hinzugefügt. Hoffentlich beheben sie das, so dass wir xhr nicht wirklich über Sockets neu implementieren müssen. – ddumont

4

Plätzchen ist offenbar ein dunkler Bereich von Chrome Packaged Apps.

Mit Erweiterungen teilt die Erweiterung die Cookie-Jar mit normalen Browsing-Aktivitäten. Bei gepackten Apps verfügt jede App über ein separates JAR.

Das aktuelle Verhalten scheint zu sein, dass XHR-Anforderungen an Websites im Manifest im Abschnitt Berechtigungen setzen Cookies in diesem Jar gesetzt, aber es gibt keinen Weg, wie Sie loswerden, außer Neuinstallation der App. Es gibt keine API für gepackte Apps, um Cookies zu verwalten, und ihre Cookies werden nicht in den Developer-Tools oder auf der Seite: // settings/cookies angezeigt.

die crbugs umfassen

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

und diese beiden in Reaktion auf diese SO

Frage gefüllt Fragen

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

+0

Ich habe festgestellt, dass es einige [optional_permissions] (https://developer.chrome.com/apps/permissions) gibt, die auch Cookies enthalten, jeder der versucht hat mit diesen Berechtigungen auf Cookies zuzugreifen/sie zu löschen? – colthreepv

Verwandte Themen