登陆后使用 redirect 无法携带 Session ?

public function callback(Request $request)
    {
        $user = Socialite::with('qq')->user();
        if (Auth::check()) {
            $oauth = OAuthUser::where('user_id', '=', \Auth::id())->first();
            if (!$oauth) {
                $oauth = new OAuthUser();
                $oauth->user_id = \Auth::id();
                $oauth->save();
            }
            $oauth->qq_id = $user->id;
            $oauth->qq_info = json_encode($user->user);
            $oauth->save();
            return redirect(route('www.auth.secure'));
        }

        $oauth = OAuthUser::where('qq_id', '=', $user->id)->first(['user_id']);
        if ($oauth) {
            $uu = Auth::guard('web')->loginUsingId($oauth->user_id, true);
            flash('登陆成功'); // 在这里 session 是存在的包括登陆的信息
            return redirect($this->redirectPath()); // 这里转跳到首页后登陆的 session 信息不存在了
        }
        flash('此QQ未绑定任何账号!');
        return redirect(route('www.auth.oauth'));
    }

转跳之后登陆的session就不存在我看了自带的 loginctonroller 也是redirect 转跳的为什么我自己写的不会携带session呢?

thanks.
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
StringKe
最佳答案

已经解决

请注意你的路由是否经过了默认的 web 路由组,如果没有经过 web 的路由组是没有携带 session 的

Route::group(['middleware' => ['web']], function () { // 必须
    Route::get('oauth', 'Auth\OauthController@index')->name('www.auth.oauth');
});
6年前 评论
讨论数量: 2

输出javascript跳转

6年前 评论
StringKe

已经解决

请注意你的路由是否经过了默认的 web 路由组,如果没有经过 web 的路由组是没有携带 session 的

Route::group(['middleware' => ['web']], function () { // 必须
    Route::get('oauth', 'Auth\OauthController@index')->name('www.auth.oauth');
});
6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!