나는 이것에 관해 약간 새로운 것이므로 나와 함께 견뎌 라. 잘 작동하는 Javascript SDK를 통해 "Facebook에서 로그인"버튼을 설치했습니다. PHP 코드 (facebook.php)도 설정했습니다 자바 스크립트를 통해 Facebook에 성공적으로 로그인 할 수 있지만 PHP를 통해 세션의 UID에 액세스 할 수 없습니다. 그래서 PHP로 세션 자바 스크립트 세트에 액세스 할 수 있습니까? 감사Facebook 쿠키를 어디에서 찾을 수 있습니까?
편집 : (가 쉽게 읽을 수 있습니다 있도록 아래 여기에서 게시 코드)
내가 응답을 로그인 콘솔을 볼 수 있습니다.
FB.getLoginStatus(function(response) {
console.log(response.session.uid);
});
페이지를 새로 고침하고 PHP를 통해 설정된 세션에 액세스하려고하면 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
는 facebook.php 라인 358 ... $ cookieName = $ this-> getSessionCookieName에
()에 디버깅을 않았다
// fbs_myNumericAppId를 다시 실행합니다.
if (isset ($ _ COOKIE [$ cookieName])) {
// FAILS! $ _COOKIE [ 'fbs_myNumericAppId']
내 facebook.com에 로그인하면 어떻게 내 앱 ID가 무엇인지 알 수있는 것처럼 보입니다.
facebook.com에 로그인 한 후 $ _COOKIE에 관련된 페이스 북이 없습니다. 따라서 facebook.com을 통해 페이스 북에 로그인하려면 웹 사이트에서 로그인 한 것을 알게하려면 페이지로드시 FB.login을 실행해야합니다. 그런 다음 PHP가 $ _COOKIE에 반환 된 javacript 정보를 통해 쿠키를 설정해야 PHP가 다른 곳의 정보를 가져올 수 있습니다.
예 앱을 등록했습니다. 나는 자바 스크립트를 통해 로그인 할 때 response.session을 볼 수 있지만 PHP는 그렇지 않다. – hogsolo
@hogsolo : 당신이하려는 것을 코드로 게시 할 수 있습니까? – David
@hogsolo : 좋습니다. 게시 한 모든 코드 (예 : 응용 프로그램 비밀)에서 손상된 부분을 난독 처리해야합니다. JavaScript를 통해서도 페이스 북과 상호 작용할 수있는 여러 가지 방법이 있으므로 문제를 재현 할 수있는 코드 기준을 사용하는 것이 훨씬 쉽습니다. – David