【问题标题】:Laravel socialite authentication instance of Laravel\Socialite\Two\User given ErrorLaravel\Socialite\Two\User 的 Laravel 社交名流认证实例给定错误
【发布时间】: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;

但它仍然会抛出同样的错误。

【问题讨论】:

    标签: laravel laravel-5


    【解决方案1】:

    社交名媛user() 和你的User 模特是两个不同的东西。

    您的User 模型与存储在您的数据库中的信息相关,而通过socialite 返回的user 与Facebook(或其他提供商)提供给您的信息相关

    您可以通过 Sociliate Laravel 5.2 Socialite Facebook Login 找到有关登录用户的更多信息

    【讨论】:

      猜你喜欢
      • 2018-05-11
      • 2016-09-11
      • 2020-07-07
      • 2017-03-03
      • 2023-03-29
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      • 2018-03-22
      相关资源
      最近更新 更多