2013-04-15 2 views
2

PHP 용 SDK를 사용하여 내 웹 사이트 중 하나에서 Facebook 로그인을 사용하고 있습니다.facebook login은 쿼리 문자열에 변수로 코드를 반환합니다.

가끔 facebook 로그인이 작동하고 때로는 로그인하지 않는 경우가 있습니다.

login_fb.php?code=ASA&S^&*A^S&*A^S&*^A&*ASUAUIYSUIYASIYAUSYUIASA 

과 :

https://www.facebook.com/dialog/oauth?client_id=123131231&redirect_uri=http%3A%2F%2Fxyz.com%2Flogin_fb.php&state=403bc8aaf9eaee4064e3cc27befc71ff&scope=email

지금 login_fb.php에 내가이 URL을 얻을 :

/// fb login area..... 
include("facebook/src/facebook.php"); 

$facebook = new Facebook(array(
    'appId' => '159326560901256', 
    'secret' => 'c6b30bd2f80747b64d5b1d15a3da9e9c', 
)); 

$user = $facebook->getUser(); 

$loginUrl = $facebook->getLoginUrl(array(
    'scope' => 'email', 
    'redirect_uri' => 'http://xyz.com/login_fb.php' 
)); 

<a href="<?=$loginUrl?>"><img class="fb_img" 
    src="images/fb_logo.png" width="153" height="38" /></a> 

login_fb.php로 이동 : 여기

내 index.php를하다 에 $user가 있습니다 0

/// code for login_fb.php 
include("facebook/src/facebook.php"); 

$facebook = new Facebook(array(
    'appId' => '159326560901256', 
    'secret' => 'c6b30bd2f80747b64d5b1d15a3da9e9c', 
)); 


// Get User ID 
$user = $facebook->getUser(); 
if ($user) { 
    try { 
     $user_profile = $facebook->api('/me'); 
    } 
    catch (FacebookApiException $e) { 
     error_log($e); 
     $user = null; 
    } 

    $logoutUrl = $facebook->getLogoutUrl(array(
     'next' => 'http://minuteville.com/index.php?val=fblogout' 
    )); 

왜 작동하지 않습니까?

+1

를 해결함으로써 그래서 새로운 액세스 코드를 받고. – sven

+0

어쨌든 덕분에 그것을 사용하지 않고 –

답변

2

Facebook SDK에 다음 줄을 추가하고 getAccessTokenFromCode을 사용하면 문제가 해결 될 수 있습니다.

acesss 코드가 만료됩니다. 코드를 교환하는 U 앱의 비밀을 제거하거나 위의 하나를 사용하는 경우 다시 생성해야 문제를

$access_code = $facebook->getAccessTokenFromCode($_GET['code']);

1

https://developers.facebook.com/docs/howtos/login/server-side-login/#step6

당신은 사용자를 얻기 위해 코드 매개 변수를 사용하여 액세스 토큰을 구축 할 수 있어야한다. 그것은 모두 문서에 적혀 있습니다.

+0

나는 이미 이것을 보았습니다. facebook sdk는 getAccessTokenFromCode 메서드를 내장했습니다. 반환 오류를 사용하고 있습니다. "{"error ": {"message ":"이 인증 코드에는 ","type ":"OAuthException ","code ": 100}}"문자열 (216) –

관련 문제