2010-11-24 17 views
1

(je suis assez certain que la réponse à cette question est tout simplement « non », mais je pensais que je demande au cas où quelqu'un ici a trouvé une solution/solution intelligente dans le passé.)Lire l'application Facebook Cookie de JavaScript?

En utilisant the PHP code provided comme Par exemple, pour un simple développement de Facebook, on peut voir comment il se lit dans le cookie pour obtenir les valeurs nécessaires à placer dans le code JavaScript. Des valeurs comme uid et access_token sont nécessaires pour se connecter au JavaScript pour accéder, par exemple, au graphique social de l'utilisateur. Le cookie est lu côté serveur, et idéalement, l'accès Facebook est le plus possible effectué côté client (appels ajax au graphique, etc.).

Mais y a-t-il un moyen de faire même le côté client d'accès aux cookies?

Je comprends que:

  • Le cookie est envoyé au serveur de toute façon, donc cela ne sauve rien de plus qu'une très petite quantité de traitement côté serveur.
  • Le "secret d'application" doit pas être rendu disponible en tout code côté client. (C'est pourquoi je pense que la réponse est simplement "non".)
  • Il peut très bien n'y avoir aucune bonne raison de le faire et une poignée de bonnes raisons de ne pas le faire.

Ceci est plus d'une curiosité (étant nouveau sur le développement de Facebook et pas un expert dans le développement JavaScript) que d'un besoin d'affaires immédiat. Nous n'avons pas l'intention de déplacer l'analyse des cookies vers le code côté client, je me demande simplement si c'est possible et/ou si quelqu'un l'a déjà fait.

Répondre

0

Vous pouvez accéder aux informations de cookie en javascript en utilisant document.cookie, mais vous ne pourrez lire que les cookies se trouvant sur le même domaine que le script en cours d'exécution. Par exemple, si mon site Web www.xyz.com inclut un iframe à facebook, quand j'appelle le document.cookie je verrai seulement les biscuits de xyz.com pas facebook.com.

+0

Oui, l'obtention du cookie en JavaScript ne devrait pas poser de problème. Le problème principal consiste à extraire les valeurs nécessaires du cookie sans exposer le "secret d'application" dans le code côté client. – David

+0

Il n'y a aucun moyen de décoder le cookie sans le secret de l'application. Pourquoi ne pas le faire sur le serveur? Le serveur peut afficher la logique de réponse appropriée en fonction des valeurs de cookie et vous n'aurez pas à exposer le secret de l'application. – SRM

+0

@SRM: "Pourquoi ne pas le faire sur le serveur?" Pas de raison particulière, vraiment. Nous le faisons maintenant sur le serveur, puisque c'est logique. Cette question est principalement juste une curiosité oisive. – David