2

Я использую Facebook для входа в систему для входа в систему на мой сайт.Как использовать facebook login api

<div id="fb-root"></div> 
    <script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
     appId  : 'My_app_id', 
     status  : true, 
     cookie  : true, 
     xfbml  : true, 
     oauth  : true, 
     }); 
    }; 
    (function(d){ 
     var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
     js = d.createElement('script'); js.id = id; js.async = true; 
     js.src = "//connect.facebook.net/en_US/all.js"; 
     d.getElementsByTagName('head')[0].appendChild(js); 
    }(document)); 
    </script> 
    <div class="fb-login-button" data-scope="email,user_birthday"> 
    Login with Facebook 
    </div> 

Я использую этот код для аутентификации с помощью Facebook. Но, после того, как пользователь разрешит получение информации о пользователе из установленного файла cookie и как я должен знать, что либо пользователь разрешил, либо не разрешил разрешения. Мой сайт основан на php.

Я хочу, чтобы механизм знал, что пользователь аутентифицирован или нет после предоставления разрешения, а затем доступ к его информации.

+1

Пройдите [руководство по проверке подлинности facebook] (https://developers.facebook.com/docs/authentication/) Он содержит примеры как потока клиентов, так и сервера (с использованием PHP). Вы можете получить доступ к графическому API, используя [JS] (https://developers.facebook.com/docs/reference/javascript/) или [PHP SDK] (https://developers.facebook.com/docs/reference/php/) , –

ответ

0

Вот простая функция PHP, что я написал войти в систему:

function login($app_id, $post_login_url){ 

    $dialog_url= "http://www.facebook.com/dialog/oauth?" 
     . "client_id=" . $app_id 
     . "&redirect_uri=" . urlencode($post_login_url) 
     . "&scope=publish_stream,user_photos"; 
    echo("<script>top.location.href='" . $dialog_url . 
     "'</script>"); 
} 

и здесь простая функция, чтобы получить маркер доступа, код получает возвращается в URL:

function getAccessToken($app_id, $post_login_url, $app_secret, $code){ 

    $token_url= "https://graph.facebook.com/oauth/" 
     . "access_token?" 
     . "client_id=" . $app_id 
     . "&redirect_uri=" . urlencode($post_login_url) 
     . "&client_secret=" . $app_secret 
     . "&code=" . $code; 
    $response = file_get_contents($token_url); 
    $params = null; 
    parse_str($response, $params); 
    return($params['access_token']); 

} 

Я надеюсь, что это поможет ...