此页面无法重定向您太​​多次

时间:2018-04-18 05:01:06

标签: laravel facebook laravel-5 facebook-javascript-sdk facebook-php-sdk

我正在尝试使用Laravel 5和Facebook API中的Socialite库来创建一个"登录Facebook"特征。我按照教程中的所有步骤在Facebook开发人员上创建了一个应用程序,但是当我点击登录按钮时,它会因错误而崩溃并且#34;此页面不会重定向您太​​多次。 #34;下面是我的回调代码。为什么这不起作用?

public function handleFacebookCallback()
{
    try {
        $user = Socialite::driver('facebook')->user();
        $create['name'] = $user->getName();
        $create['email'] = $user->getEmail();
        $create['facebook_id'] = $user->getId();

        $userModel = new User;
        $createdUser = $userModel->addNew($create);
        Auth::loginUsingId($createdUser->id);

        return redirect()->route('home');

    } catch (Exception $e) {
        dd($e);
        return redirect('auth/facebook');

    }
}

1 个答案:

答案 0 :(得分:0)

您收到此错误消息是因为try块中的代码失败并执行catch块,该块将请求重定向回服务器,该服务器反复将其发送回浏览器。死亡和转储(dd)异常显示此错误消息:

General error: 1364 Field 'password' doesn't have a default value

"创建新用户"功能不起作用,因为数据库发回致命错误。数据库正在死亡,因为插入中没有密码值,表格需要它。这是有道理的,因为用户通过Facebook创建帐户而不是创建用户ID和密码。

使用户表中的密码列能够为空,修复此问题,并且#34; [x]重定向您太​​多次"错误。