Číst cookie aplikace Facebook z JavaScriptu?

(Jsem si docela jistý, že odpověď na tuto otázku je jednoduše „ne“, ale napadlo mě, že se zeptám pro případ, že by zde někdo v minulosti našel chytré řešení/obcházení.)

Pomocí kódu PHP poskytnutého jako příklad pro jednoduchý vývoj na Facebooku lze vidět, jak se čte v cookie, aby získal potřebné hodnoty pro umístění do kódu JavaScript. Hodnoty jako uid a access_token je nutné zapojit do JavaScriptu, abyste získali přístup, řekněme, k sociálnímu grafu uživatele. Soubor cookie se přečte na straně serveru a poté se v ideálním případě co největší část přístupu k Facebooku uskuteční na straně klienta (volání grafu ajax atd.).

Existuje však způsob, jak zajistit i přístup k souborům cookie na straně klienta?

Rozumím tomu:

  • Soubor cookie je stejně odeslán na server, takže to neušetří nic víc než velmi malé množství zpracování na straně serveru.
  • „Tajný klíč aplikace“ nemusí být k dispozici v jakémkoli kód na straně klienta. (Proto si myslím, že odpověď je jednoduše „ne.“)
  • Nemusí existovat žádný dobrý důvod to udělat a několik dobrých důvodů to neudělat.

Jde spíše o kuriozitu (pro to, že jsem ve vývoji Facebooku nový a stěží odborník na vývoj JavaScriptu), než okamžitá obchodní potřeba. Nemáme v plánu přesunout analýzu souborů cookie do kódu na straně klienta, jen by mě zajímalo, jestli je to vůbec možné a/nebo jestli to už někdo udělal.

Odpověď

K informacím o souborech cookie v javascriptu můžete přistupovat pomocí document.cookie , ale budete moci číst pouze soubory cookie, které jsou ve stejné doméně, ve které je spuštěn skript. Pokud například můj web www.xyz.com obsahuje prvek iframe pro facebook, když zavolám document.cookie Uvidím pouze soubory cookie xyz.com, nikoli facebook.com.