2010-04-15 4 views
3

FB 연결을 사용자 프로필 화면에 통합하려고합니다. FB.ApiClient.revokeAuthorization에 문제가 있습니다. Facebook JS API, revokeAuthorization

http://pastie.org/921942

기본적인 문제

는 사용자가 분리 버튼을 클릭 한 후 나는 라인 (44)의 인증을 취소한다는 것입니다.

그런 다음 모든 후속 API 호출에는 유효한 세션이 없어 사용자 상태를 검사합니다. FB.Connect.forceSessionRefresh 블록에서 래핑 블록을 시도했지만 코드가 전혀 호출되지 않습니다.

이 작업을 위해 적절한 워크 플로가 무엇인지 잘 모르겠습니다. 지금은 기본적으로 ...

  1. 사용자가 응용 프로그램에 연결되지 않음 에 연결됨.
  2. 사용자가 연결 버튼을 클릭합니다.
  3. 연결되면 DOM 조작 이 발생하여 연결 버튼 을 숨기고 연결 해제 버튼을 추가하십시오.
  4. 사용자가 연결 해제 버튼 을 클릭합니다.
  5. 응용 프로그램에 대한 사용자 권한이 취소되고 ( ) FB 서버에 대한 API 세션이 무효화됩니다.
  6. 연결 해제 단추를 숨기고 연결 단추를 읽으려면 DOM 조작이 발생합니다.
  7. 사용자가 연결 버튼을 클릭합니다.
  8. FB.Connect.get_loggedInUser()가 연결되면 실제 사용자가 으로 반환되지 않습니다.

답변

1

$facebook->logout()의 페이스 북 API를 사용하지 않는가? $facebook->logout()을 입력하여 로그인 한 경우 "로그 아웃"버튼을 표시하거나 로그 아웃 한 경우 로그인 버튼을 표시합니다.

또 다른 옵션은 FB JS 라이브러리를 사용하고 그 방법은 올드 자바 스크립트 SDK에서 사용할 수없는 FB.logout(function(response){ window.location = 'redirecturl'});

+0

의 onClick 이벤트를하는 것입니다. 코드를 기록하면 이전 SDK (http://developers.facebook.com/docs/reference/oldjavascript/)를 사용하고 있습니다. 정말로, 어쨌든 당신의 대답에 앞서 새로운 SDK로 모든 코드를 다시 작성했습니다. 나는 질문을 끝내기 위해 현상금을 줄 것이다. – BBonifield

+0

@BBonifield 같은 문제가있는 다른 사용자를 위해 코드를 게시 하시겠습니까? – Bot