【发布时间】:2016-11-05 11:32:10
【问题描述】:
我厌倦了这个错误,我已经完美地设置了一切。
路线:
Route::get('facebook', ['as' => 'facebook', 'uses' => 'UserControllers\UserController@facebookLogin']);
Route::get('callback', ['as' => 'callback', 'uses' => 'UserControllers\UserController@callBack']);
功能:
public function facebookLogin()
{
return Socialite::driver('facebook')->redirect();
}
/**
* Obtain the user information from facebook.
*
* @return Response
*/
public function callBack()
{
$user = Socialite::driver('facebook')->user();
auth()->login($user);
return redirect('/home');
// $user->token;
}
$user = User::create(['name'=>$user->getName(), 'email'=>$user->getEmail()]);
当我像这样在数据库中创建用户时,auth()->login($user); 不会引发任何错误。但仅使用 fb 返回的对象会引发此错误。现在很清楚我应该在我的用户模型中使用use Illuminate\Contracts\Auth\Authenticatable; this。所以找到了解决方案并将这些行添加到User Model。
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Auth\Authenticatable as AuthenticableTrait;
class User extends Eloquent implements Authenticatable
{
use AuthenticableTrait;
但它仍然会抛出同样的错误。
【问题讨论】: