Laravel socialite,重定向回单击按钮的页面

yh2wf1be  于 2022-12-14  发布在  其他
关注(0)|答案(1)|浏览(133)

我有一个laravel网站,其中某些新闻文章是 '门' 意味着他们必须登录/注册,以阅读超过第一段。
我安装了Laravel Socialite,这样用户就可以登录谷歌了。我想让用户通过谷歌登录,然后被重定向回他们点击“使用谷歌登录”按钮之前正在查看的页面。
显然,我将在用户登录时隐藏登录区域。
这可能吗?
这是我的代码,但是redirect()->intended()不起作用:

public function redirectToProvider()
{
    return Socialite::driver('google')->redirect();
}

public function handleProviderCallback()
{
    try {
        $user = Socialite::driver('google')->user();
    } catch (\Exception $e) {
        return redirect('/login');
    }
    
    // check if they're an existing user
    $existingUser = User::where('email', $user->email)->first();
    if($existingUser){
        // log them in
        auth()->login($existingUser, true);
    } else {
        // create a new user
        $newUser                  = new User;
        $newUser->name            = $user->email;
        $newUser->email           = $user->email;
        $newUser->roles_id           = 1;

        $newUser->save();
        auth()->login($newUser, true);
    }
    return redirect()->intended();
}

先谢谢你。

qyswt5oh

qyswt5oh1#

将url保存在会话中,并在控制器的redirect方法中检索它。

相关问题