php - 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('/');
}
有什么帮助吗?谢谢
解决方案
使用 Auth::login($user) 代替;
Auth::guard('buyer')->login($buyerUser, true);
推荐阅读
- sql - Tree structure data approval hierarchy query
- python - 如何将numpy数组的元素设置为numpy数组?
- arrays - 过滤散列数组以仅保留散列包含数组中包含的键的那些元素?
- postgresql - 在 psql 中打印不同的语言字符
- algorithm - 有没有线性时间复杂度和O(1)辅助空间复杂度的排序算法?
- pandas - 将行附加到数据框
- python - Panda 相当于 R 的 dplyr group_by+mutate
- c - 从不兼容的指针类型传递“插入”的参数 1
- amazon-web-services - 云形成策略生成不正确
- spring-boot - 将业务键建模为属性与嵌入式对象