首页 > 解决方案 > Laravel loginUsingId() 不记得新页面上的登录状态

问题描述

我正在尝试将 Socialite 集成到我的 laravel 网络应用程序中。

当我尝试使用 loginUsingId() 使用 FB ID 登录时,它使用户登录并按预期重定向到主页,但是当我访问同一域上的其他页面时,它忘记了用户每次都在登录并显示登录和注册按钮。不知道为什么会在这里发生,我的默认登录系统工作正常。

我正在为 laravel 社交名流使用以下代码

public function redirectToProvider()

{

return Socialite::driver('facebook')->stateless()->redirect();

}

public function handleProviderCallback()
{

$user = Socialite::driver('facebook')->stateless()->user();
$userId=$user->getId();

 $buyerUser = buyerData::where('buyerData_fb_id', $userId)->first();

//using my custom guard
  Auth::guard('buyer')->loginUsingId($buyerUser->id,true);

return redirect()->intended('/');
}

有什么帮助吗?谢谢

标签: phplaravelauthenticationlaravel-socialitelaravel-guard

解决方案


使用 Auth::login($user) 代替;

Auth::guard('buyer')->login($buyerUser, true);

推荐阅读