Laravel 5.4:社交名媛不记录

时间:2017-04-20 17:34:25

标签: laravel laravel-5.4 laravel-socialite

我正在使用Socialite在我的平台上使用社交网络登录。 数据已插入我的数据库,但我还没有登录...

这是我的控制者:

    $socialProvider = SocialProvider::where('provider_id',$socialUser->getId())->first();
$user = $socialProvider->user;
    dd($user);
    auth()->login($user);

dd($ user)给我:

User {#548 ▼
  #table: "users"
  #guarded: array:1 [▶]
  #fillable: array:24 [▶]
  #hidden: array:2 [▶]
  #dates: array:1 [▶]
  #persistableKey: "user_id"
  #persistableRelationship: "persistences"
  #loginNames: array:1 [▶]
  #connection: null
  #primaryKey: "id"
  #keyType: "int"
  +incrementing: true
  #with: []
  #perPage: 15
  +exists: true
  +wasRecentlyCreated: false
  #attributes: array:26 [▶]
  #original: array:26 [▶]
  #casts: []
  #dateFormat: null
  #appends: []
  #events: []
  #observables: []
  #relations: []
  #touches: []
  +timestamps: true
  #visible: []
  #permissionsInstance: null
  #rememberTokenName: "remember_token"
  #forceDeleting: false
}

我更改了登录调用:Auth :: login($ user,true);但仍然没有工作。

2 个答案:

答案 0 :(得分:0)

调用外观Auth::login($user, true);

更新:查看了我自己的代码,其中使用了社交名称。我不得不将用户从用户表中拉出来,而不是通过雄辩的关系。不知道为什么会这样。在我的例子中,我将facebook id保存到用户表中:

$user = User::where('facebook_id', $socialProvider->id)->first();
Auth::login($user, true);

答案 1 :(得分:0)

您可以尝试使用:

Auth::loginUsingId($user->id);

您是否在您的config / Auth.php中设置了auth表?