我不确定这是否是真正导致我的问题的原因,但也许有人会知道。当我使用 Laravel Socialite 并去时:
$social_user = Socialite::driver($provider)->user();
然后在我的代码中的其他地方执行以下操作:
if ($authUser = User::where('provider_id', $social_user->id))
return $authUser;
出于某种疯狂的原因,我收到这样的错误:
传递给 Illuminate\Auth\SessionGuard::login() 的参数 1 必须实现接口 Illuminate\Contracts\Auth\Authenticatable,给出 Illuminate\Database\Eloquent\Builder 的实例
但是,如果我这样做,我不会收到错误:
if($authUser = User::where('email', $social_user->email)->first())
return $authUser;
我像这样登录这个用户:
Auth::login($authUser, true);
有谁知道为什么?我正在使用 laravel 5.2