Войти с Facebook в Laravel 4

Все, что я пытаюсь сделать, — это подключить пользователя к Facebook, захватить его информацию (адрес электронной почты, имя, profile_pic) и автоматически зарегистрировать его на моем сайте.

проблема в том, что когда я захожу в / user / login / fb /, меня перенаправляют в приложение fb для предоставления разрешения, а затем оно перенаправляет меня на

HTTP: //local.serv/user/login/fb/callback код = AQB7Uf7pcZSY89WYUKofY8bOgBY1qCcWA5p6_G-9MVdczN60C0TNOgFIi9LBRwquagZ6VbC6_kjD9-D0ZevKHyNGw88LuRJcuqdq2RbwCKNlC02_4eMtiNAWxX76XHm1CzU0F7nSVQ4KxENoDPFpKIs1oV-wQTkO7YuuGznL9UuzfK-hqTtZAIRBvQ_N_yh03LsdgaZ9-f6z5yc5FGnJ3sJyrC-3DGrjkSzhPpJHHk5tr7LorzqW9TNcaFpB9eE51wdsEHOa5oNEWycwzXjY-7Me1Uod3KVBGpb8tzeYVHArphMc2n45IF1pfAWMZZZ51Dw&состояние = f25e8641df013970542b7463b8899ccf # =

и дай мне эту ошибку

Facebook \ FacebookSDKException (700)
You must provide or set a default application id.

Вот мои маршруты

Route::get('user/login/fb', function() {

FacebookSession::setDefaultApplication('', '');
$helper = new FacebookRedirectLoginHelper('user/login/fb/callback');
$loginUrl = $helper->getLoginUrl();
return "<a href='$loginUrl'>facebook</a>";
});

Route::get('user/login/fb/callback', function() {
// A FacebookResponse is returned from an executed FacebookRequest
$helper = new FacebookRedirectLoginHelper('user/login/fb/callback');
$session = $helper->getSessionFromRedirect();
$request = new FacebookRequest($session, 'GET', '/me');

try {
$response = $request->execute();
$me = $response->getGraphObject();
} catch (FacebookRequestException $ex) {
echo $ex->getMessage();
} catch (\Exception $ex) {
echo $ex->getMessage();
}

print_r($me);//->getProperty("id"));

$user = new Giftee;
$user->name    = $me->getProperty('first_name') . ' ' . $me->getProperty('last_name');
$user->email    = $me->getProperty('email');
$user->photo    = 'http://graph.facebook.com' . $me->getProperty('id') . '/picture?type=large';

$user->save();

});

PS: если у вас есть понятный учебник с представлениями и всем, что касается интеграции fb login с laravel, пожалуйста, поделитесь, я искал несколько дней, материал настолько ограничен.

0

Решение

Ваши учетные данные API Facebook не устанавливаются при запросе user/login/fb/callbackлибо добавь FacebookSession::setDefaultApplication(...) в начале этого маршрута или используйте другую библиотеку, которая позволяет вам установить их в глобальном конфигурационном файле.

Ваш маршрут должен выглядеть так:

Route::get('user/login/fb/callback', function() {
FacebookSession::setDefaultApplication(); // your API credentials

// here goes the rest of your code
};
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]