我正在使用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);但仍然没有工作。
答案 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表?