Où trouver le Facebook cookie?
Je suis un peu nouveau pour cette si patient avec moi.
J'ai installé une "Connexion avec Facebook" bouton via le SDK Javascript, qui fonctionne très bien.
J'ai également mis en place le code PHP (facebook.php)
Je peux me connecter avec succès à Facebook via javascript, mais ensuite ne pouvez pas accéder à l'UID de la session via php.
Alors, comment puis-je obtenir php pour accéder à la session javascript jeux?
grâce
Edit: (Affichage du code à partir de ci-dessous de sorte qu'il sera plus facile à lire)
Je peux le journal de la console de la réponse et de voir.
FB.getLoginStatus(function(response) {
console.log(response.session.uid);
});
Actualiser la page et essayez d'accéder à la session qui a été définie par php, il s'agit jusqu'à null.
require_once(RELATIVE_PATH.'applibs/facebook.php');
$config = array('appId'=>Config::$fb_app_id, 'secret'=>Config::$fb_secret, 'cookie'=>true);
$fb = new Facebook($config);
$fb->getUser(); //this will equal null because the $fb object isnt finding the cookie supposedly set by javascript
* Fait un peu de débogage dans le facebook.php
sur la ligne 358...
$cookieName = $this->getSessionCookieName();
//retuns fbs_myNumericAppId, on dirait que ce qui a fonctionné..
if (isset($_COOKIE[$cookieName])) {
//ÉCHOUE! il n'y a pas de $_COOKIE['fbs_myNumericAppId']
Qui semble logique car comment pourriez-vous connectant à facebook.com savoir ce que mon ID de l'application?
J'ai aussi remarqué après l'enregistrement dans facebook.com, il n'y a RIEN de facebook liées dans $_COOKIE.
Donc, pour se connecter à facebook via facebook.com puis avoir un site web d'avis que la connexion, vous devez exécuter FB.connexion sur un chargement de la page.
Ensuite, vous devez définir un cookie par l'intermédiaire des javacript info renvoyé dans $_COOKIE de sorte que le php peut ramasser n'importe où ailleurs.
OriginalL'auteur hogsolo | 2011-01-21
Vous devez vous connecter pour publier un commentaire.
J'ai justement un post de blog et certains précédente réponses qui peuvent vous être utiles comme points de référence.
Avez-vous inscrit votre site sur Facebook comme une "application"? Si non, vous aurez besoin de le faire. Le cookie qui Facebook jeux qui permet à votre site d'accéder à une information de l'utilisateur (une fois qu'ils ont accepté de donner à votre "demande d'accès") utilise une combinaison de votre application de l'IDENTIFIANT et du "secret" (un long chaîne alphanumérique que vous ne devez pas partager, ou d'autres applications serait en mesure d'usurper l'identité de la vôtre) pour définir une valeur chiffrée avec l'ID de l'utilisateur et un jeton d'authentification unique pour l'utilisateur et de votre application (représentant de la permission qu'ils ont donné à leurs données).
Le cookie est enregistré sur votre site le long de demandes comme n'importe quel autre cookie. Vous pouvez utiliser votre application secret pour le décrypter et d'en extraire l'ID de l'utilisateur et le jeton d'authentification, que vous utiliserez ensuite pour accéder aux données via le Facebook de l'API graphique.
Pouvez-vous mettre un peu de code avec ce que vous essayez de faire?
C'est très bien. Juste assurez-vous vous dissimuler quelque chose de compromettant dans le code que vous postez (comme l'application secret). Il y a un certain nombre de différentes façons d'interagir avec Facebook, même par le biais de JavaScript, de sorte qu'il sera beaucoup plus facile pour aider à une base de code qui peut reproduire le problème.
Je suis en vous connectant à facebook via le javascriptSDK version. <br />je peux le journal de la console de la réponse et de le voir. FB.getLoginStatus(function(response) { console.journal(la réponse.session.uid);}); Actualiser la page et essayez d'accéder à la session qui a été définie par php, il s'agit jusqu'à null. require_once(RELATIVE_PATH.'applibs/facebook.php'); $config = array('appId'=>Config::$fb_app_id, 'secret'=>Config::$fb_secret, 'cookie'=>true); $fb = new Facebook($config); $fb->getUser(); // cette valeur est égale à null car le $fb objet n'est pas de trouver le cookie soi-disant mis en javascript
Est le
facebook.php
une bibliothèque standard que vous avez téléchargé? Pouvez-vous le lien? Je ne suis pas familier avec elle. Avez-vous besoin pour exécuterFB.init()
dans le JavaScript? (Ou avez-vous simplement omettre que pour des raisons de concision?)OriginalL'auteur David