登陆后使用 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.
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
StringKe
最佳答案

已经解决

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

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

输出javascript跳转

4年前 评论
StringKe

已经解决

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

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

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