2011-09-15 6 views
7

우리는 Facebook Javascript SDK를 사용하여 사용자를 인증합니다.Facebook 서명 요청에서 액세스 토큰을 얻으려면 어떻게해야합니까?

사용자가 인증되면 사용자는 서명 된 요청을 포함하는 fbsr_ <app_id> 쿠키를 얻습니다.

그런 다음 AJAX를 사용하여 Google 서버에 정보를 게시합니다. 서버는 서명 요청과 함께 쿠키를 수신하지만 서버는 쿠키에 서명 요청 (수정 파이썬 SDK)를 구문 분석 할 때, 그것은으로 JSON 객체를 디코딩 :

 
{ 
    "algorithm": "HMAC-SHA256", 
    "code": "2.AQDBJ3-ZpURb9P4T.3600.1316037600.1-786359552|BNK6FGOAkvMs7slboQMSIEJYDWc", 
    "issued_at": 1316031333, 
    "user_id": "786359552" 
} 

이것은 signed request documentation 우리가 말씀에 위배되는 가야 해.

서버에 액세스 토큰이 필요하므로 GraphAPI를 사용하여 추가 정보를 얻을 수 있습니다.

서명 된 요청에서 액세스 토큰을 얻으려면 어떻게해야합니까?

+3

답은 여기에 있습니다 : [http://facebook.stackoverflow.com/questions/7201521/problem-getting-access-token-after-migrating-to -oauth-2-0] [1] [1] : http://facebook.stackoverflow.com/questions/7201521/problem-getting-access-token-after-migrating-to-oauth- 2-0 – sbaechler

+0

감사합니다. 링크가 내 문제를 해결했습니다. – Eric

답변

2

javascript sdk와 함께 새로운 oauth2 워크 플로를 사용하면 사용자 토큰을 사용할 수 있습니다. 당신이 그래프를 조회하는 당신이 당신의 백엔드가 다시 전달 할 수있는 토큰이 있으면이

FB.getLoginStatus(function(response) { 

       if (response.status === 'connected') { 

       alert(response.authResponse.accessToken); 

       } 
     }); 

처럼 뭔가 토큰을 찾을 수 있습니다 인증 후

.

+0

OP가 잠 들어있는 이유를 완벽하게 알 수 있습니다! – BlackDivine

+0

이 답변은 질문 된 질문을 다루지 않았기 때문에. 대답은 내 질문에 대한 설명에 제공되었습니다. – Eric

+0

신뢰할 수없는 쿠키 설정과 동일한 문제가있었습니다. 이 솔루션은 나를 위해 일했습니다. – Houman

1

올바른 일입니다

FB.getLoginStatus(function(response) { 

      if (response.status === 'connected') { 

      alert(response.session.access_token); 

      } 
    }); 
관련 문제