2012-01-28 4 views
6

페이스 북 앱을 개발 중입니다. 나는 어떤 버튼을 클릭하지 않고도 사용자를 인증 할 수있는 서버 측 OAuth 플로우를 가지고있다. 따라서 다른 정보가있는 한 그의 액세스 토큰을 검색하고 페이지를 생성하기 전에 서버 쪽 서버 쪽에있는 정보를 사용하십시오.자바 스크립트 API 액세스 설정하기

내 응용 프로그램에서 기술적으로 Oauth 토큰을 기술적으로 공유 할 수있는 Javascript API를 사용해야합니다.

주어진 Oauth 토큰으로 FB javascript 객체를 인스턴스화 할 수 있습니까?

클라이언트 측에서 Oauth 프로세스를 수행하고 쿠키를 통해 Oauth 키를 서버 측과 공유하는 것은 반대의 의미를 지닌다는 것을 알고 있습니다. 그러나 이것은 내 의견으로는 두 가지 단점이 있습니다. 이 "로그인"버튼은 페이스 북 앱을위한 좋은 사용자 경험이 아닙니다. _ 또한 응용 프로그램이 두 개의 다른 페이지로 구성되어있는 경우이 Oauth 프로세스가 어떻게 작동해야하는지 알 수 없습니다. 한 페이지에서 다른 페이지로 이동하면 자바 스크립트가 완전히 다시로드됩니다. 이 Oauth 프로세스 (팝업 등)가 각 페이지를 다시로드 할 때 수행됩니까?

도움 주셔서 감사합니다.

하는 데 도움이
FB.init({appId: 'XXXXXXXXXXXXXX', xfbml: true, cookie: true, oauth: true}); 
FB.getLoginStatus(function(response) { 

    if (response.authResponse) { 
    token = response.authResponse.accessToken; 
    FB.api('/me', function(response) { 
     console.log(response); 
     // do something here they are logged in and have given you perms 
    }); 
    } else { 
    // no user session available, someone you dont know 
    } 
}); 

희망 -

답변

9

내가 한 번 비슷한 문제가 있었다, 페이스 북은 사용자가 팝업없이 권한을 부여했는지 확인하는 데 사용할 수있는 FB.getLoginStatus라는 오래된 방법이있다!

+0

아주 훌륭했습니다! 참고로 토큰을 전역 변수로 설정할 필요가없는 것으로 보입니다. 당신의 도움을 많이 Thks! –

+0

굉장해! 다행 이네, 너를 올바른 방향으로 가리킬 수있어. :) –

+0

감사합니다! 같은 문제가 있었는데 몇 초 만에 해결되었습니다! 너는 나에게 시간을 절약 해 줬다. –

관련 문제