예제 #1
0
 * The PHP OAuth Library requires some special items in array, so we add that
 */
$databaseDetails["password"] = $databaseDetails["pass"];
$databaseDetails["socket"] = "/var/run/mysqld/mysqld.sock";
$client = new mysqli_oauth_client_class();
$client->database = $databaseDetails;
$client->server = 'Facebook';
$client->offline = true;
$client->debug = true;
$client->debug_http = true;
$client->redirect_uri = Open::URL('/oauth/login_with_facebook');
$client->client_id = 'fbAppID';
$client->client_secret = 'fbAppSecret';
$client->scope = 'user_about_me,email,user_birthday,user_location,publish_actions';
if ($success = $client->Initialize()) {
    if ($success = $client->Process()) {
        if (strlen($client->authorization_error)) {
            $client->error = $client->authorization_error;
            $success = false;
        } elseif (strlen($client->access_token)) {
            $success = $client->CallAPI('https://graph.facebook.com/me', 'GET', array(), array('FailOnAccessError' => true), $user);
            if ($success) {
                $location = $_SESSION['continue'];
                $email = $user->email;
                $name = $user->name;
                $gender = $user->gender;
                if (\Fr\LS::userExists($email)) {
                    /**
                     * Since user exists, we log him/her in
                     */
                    \Fr\LS::login($email, "");