2013-08-25 5 views
0

2 년 전 facebook login으로 웹 사이트를 개설했고 모든 것이 OK였습니다. 어제, 나는 새로운 프로젝트 작업을 시작했고 다음과 같은 문제가 발생했습니다. 저는 최신 버전의 SDK를 사용하며, 서버는 PHP 5.3.16을 사용하며 iPage에서 호스팅됩니다.Facebook PHP SDK와 관련된 문제

  1. 로그인이 작동하지 않습니다. 앱에 대한 액세스 권한을 부여한 후 getUser()는 항상 0을 반환합니다.
  2. 자바 SDK (작동)를 사용하여 로그인하면 api (/ me)는 아무 것도 반환하지 않지만 api (/ user_id)는 작동합니다.
  3. 로그 아웃 링크가 작동하지 않아 내 앱에서 로그 아웃하지 않고 페이스 북 홈페이지로 리디렉션됩니다.

PHP SDK의 예제 파일을 사용 했으므로 코드에 문제가없는 것으로 확신합니다. 따라서 내 서버 또는 SDK 자체에 이상이있을 것입니다. StackOverflow 및 다른 웹 사이트에서 수십 개의 스레드를 읽었지만 수정 사항을 찾을 수 없습니다. FB PHP SDK를 문제없이 실행하는 수천 개의 웹 사이트가 있기 때문에, 내가 잘못하고있는 것을 혼란스럽게 생각합니다. 나는 어떤 도움을 주셔서 감사합니다.

+0

몇 가지 수정 사항은 액세스 토큰 조작을 제안하지만 FB는 명시 적으로 OAuth를 사용할 때 액세스 토큰이 SDK에서 처리되므로 사용자는 이에 대해 아무 것도 할 필요가 없다고 명시 적으로 말합니다. – friendq

답변

0

3 부에서 getLogoutURL()의 다음 매개 변수를 사용하여 로그 아웃 할 때 사용자를 보낼 URL을 지정할 수 있습니다. 기본값은 facebook입니다. 어느 쪽이든, 그것은 페이스 북에서 로그 아웃하는 것입니다. 다음에 지정한 경우에는 배경으로, 그렇지 않은 경우에는 포어 그라운드가 될 수 있습니다. 내 앱이 귀하의 세부 정보에 액세스하는 것을 멈추게 할 것입니다 (잘못 되었습니까?). 웹 사이트는 2 주 동안 보류 상태였습니다. 처음 방문한 후에 FB에 로그인하지 않아도 항상 사용자 ID를 얻고 사용자 세부 정보를보고 관리합니다.

+0

로그 아웃을 직접하기로 결정했습니다 : $ facebook-> destroySession(); ifset ($ _SESSION [ 'fb_'. $ facebook-> getAppId(). '_code']) { unset ($ _SESSION [ 'fb_'. ])); } ifset ($ _SESSION [ 'fb_'. $ facebook-> getAppId(). '_access_token']) { unset ($ _SESSION [ 'fb_' ])); } ifset ($ _SESSION [ 'fb_'. $ facebook-> getAppId(). '_user_id']) { unset ($ _SESSION [ 'fb_' ])); } – friendq

+0

귀하의 의견을 오해하지 않는 한, 귀하의 웹 사이트의 로그 아웃 섹션에이 정보를 입력했다고 가정합니다. 내 문제를 해결하지 못합니다. 아니면 그냥 답장 롤 오해. 내가 가진 문제는 페이 스북 (Facebook)에서 로그 아웃했을 때 여전히 내 사용자 ID와 사용자 데이터를 얻을 수 있었고 모든 사용자가 로그인해야한다는 것입니다. (나는 fb dev 페이지의 지침서를 따랐습니다. 해야 할 일이 있지만, 가정하면, 이것은 공개적으로 사용 가능한 fb ID를 알면 누구나 내 웹 사이트에 로그인 할 수 있음을 나에게 알립니다. 내 사이트의 로그 아웃 버튼으로 만 해결하면 도움이되지 않습니다. –

관련 문제